Square Connect API logo

Square Connect API

Square Connect API

Square Connect API offers online and in-person payments, orders, inventory, and customer management — built for SMBs in retail and food service.

Visit site ↗Health checked 9h ago
Use it when

Unified API across online and in-person — fewer integrations than online-only processors

Watch for

Country coverage is narrow (mostly US, Canada, UK, Ireland, Australia, Japan)

First check

Sign up at developer.squareup.com, copy the sandbox/production access_token (Personal Access Token or OAuth) from the Dashboard. Send Authorization: Bearer <token> and a Square-Version header on every request.

Auth
api_key
CORS
No
HTTPS
Yes
Signup
Required
Latency
1309 ms
Protocol
REST
Pricing
paid

Uptime · 30-day window

Probes: 1Uptime: 100%Avg latency: 1309ms
01

About this API

Square is not a pure online payment processor — it exposes POS hardware, inventory, orders, customers, and loyalty alongside online payments, all under one API. That makes it a better fit than Stripe in restaurants, retail, salons, and other contexts where in-person and online operations need to stay in sync.

The surface is modular: Payments (online), Terminal (in-person readers), Catalog (items and inventory), Orders (orders and refunds), Customers (profiles), Subscriptions, Bookings. Everything shares the Location concept — a merchant can have multiple storefronts, each with its own inventory and orders.

Auth is OAuth or Personal Access Token. Every request needs a Square-Version header to pin the API version so upstream changes do not break you silently. The sandbox is fully free and feature-complete, with simulated cards and virtual terminals. Country coverage is narrower than Stripe — mostly US, Canada, UK, Australia, Japan — so check supported regions before committing to a new market.

02

What you can build

  • 1Accept online Square payments in an ecommerce app
  • 2Sync POS sales data to external analytics
  • 3Manage menus, inventory, and catalog items
  • 4Automate in-person card acceptance via Square terminals
  • 5Pull customer and order data for marketing
03

Strengths & limitations

Strengths

  • Unified API across online and in-person — fewer integrations than online-only processors
  • Comprehensive free sandbox
  • Deep integration with Square hardware (terminals, readers)
  • SMB-friendly developer documentation

Limitations

  • Country coverage is narrow (mostly US, Canada, UK, Ireland, Australia, Japan)
  • Some features are region-restricted
  • Processing fees are slightly higher than Stripe
04

Example request

Generic template — replace <endpoint> with the real path from the docs.
curl https://squareup.com/developers/<endpoint> \
  -H "Authorization: Bearer $API_KEY"
# Some providers use X-Api-Key instead — verify in the docs.
05

Getting started

Sign up at developer.squareup.com, copy the sandbox/production access_token (Personal Access Token or OAuth) from the Dashboard. Send Authorization: Bearer <token> and a Square-Version header on every request.

06

FAQ

Does Square charge for API calls?+

The API itself is free; fees apply only on real transactions. Standard card rate is about 2.6% + 10¢ per swipe/tap.

How does the sandbox work?+

Switch the Dashboard to sandbox mode to get isolated test tokens and a virtual merchant. Simulated card numbers trigger various payment scenarios.

Can Chinese merchants use it?+

Mainland China is not supported. Square covers US, Canada, UK, Ireland, Australia, and Japan.

Is the Square-Version header required?+

Strongly recommended. Without it, calls use your account default and behavior can shift when Square upgrades.

07

Technical details

CORS: NoHTTPS: YesSignup: YesOpen source: No
Auth type
api_key
Pricing
paid
Protocols
REST
SDKs
python, javascript, java, ruby, php, csharp, go
Response time
1309 ms
Last health check
5/12/2026, 7:38:28 AM
08

Endpoints

Parsed from the OpenAPI spec. Showing 12 of 200 non-deprecated endpoints.

POST
/mobile/authorization-codeMobileAuthorization

CreateMobileAuthorizationCode

POST
/oauth2/clients/{client_id}/access-token/renewOAuth

RenewToken

client_id:path*
POST
/oauth2/revokeOAuth

RevokeToken

POST
/oauth2/tokenOAuth

ObtainToken

GET
/v1/{location_id}/ordersV1Transactions

ListOrders

location_id:path*order:querylimit:querybatch_token:query
GET
/v1/{location_id}/orders/{order_id}V1Transactions

RetrieveOrder

location_id:path*order_id:path*
PUT
/v1/{location_id}/orders/{order_id}V1Transactions

UpdateOrder

location_id:path*order_id:path*
GET
/v1/{location_id}/paymentsV1Transactions

ListPayments

location_id:path*order:querybegin_time:queryend_time:querylimit:query+2 more
GET
/v1/{location_id}/payments/{payment_id}V1Transactions

RetrievePayment

location_id:path*payment_id:path*
GET
/v1/{location_id}/refundsV1Transactions

ListRefunds

location_id:path*order:querybegin_time:queryend_time:querylimit:query+1 more
POST
/v1/{location_id}/refundsV1Transactions

CreateRefund

location_id:path*
GET
/v1/{location_id}/settlementsV1Transactions

ListSettlements

location_id:path*order:querybegin_time:queryend_time:querylimit:query+2 more

188 more endpoints not shown. See the OpenAPI spec for the full list.

09

Tags