Square
Square is a payments and point-of-sale platform used by retail and hospitality businesses to process in-person and online transactions. The Square API provides access to payment records, orders, customer profiles, invoices, and catalog data for reporting, reconciliation, and integration purposes.

Power end-to-end data operations for your Square API with Nexla. Our bi-directional Square connector is purpose-built for Square, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Square or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Square workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
Before creating a Square credential, you need administrator or team member access to your Square account with permission to authorize third-party applications. Square uses OAuth2 3-legged authentication for all API requests, and Nexla's pre-registered Square application handles the authorization flow—you do not need to register your own Square application to authenticate.
During the authorization process, you will be redirected to Square to sign in and grant a set of permission scopes to Nexla's application. Choose the scopes that match the data your flow needs:
- Payments:
PAYMENTS_READfor transaction and refund information - Orders:
ORDERS_READfor itemized order data - Customers:
CUSTOMERS_READfor customer profile information - Invoices:
INVOICES_READfor billing invoice data - Items:
ITEMS_READfor product catalog and inventory data - Merchant Profile:
MERCHANT_PROFILE_READfor business and location information
After authorization, Square will provide an access token that is sent in the Authorization: Bearer {token} header for all API requests to the Square API. Every request also requires a Square-Version header, a date-stamped value (for example 2025-10-16) that pins the API version your integration is built against; Square recommends using the latest stable version for best compatibility. Square API requests are sent to https://connect.squareup.com for production accounts. If your credential is compromised, you should immediately revoke it from your Square account's application authorization settings and create a new credential in Nexla. For detailed information about Square OAuth authentication, permission scopes, and available endpoints, refer to the Square OAuth API documentation and OAuth Permissions Reference.
Authenticate
Credentials required
OAuth 2.0 authentication for Square API
| Field | Required | Secret | Description |
|---|---|---|---|
| API Access Scope | Yes | No | Square API permissions scope. Allowed values: Payments & Orders (Read); Customers & Invoices (Read); Full Read Access; Full Read/Write Access. |
| Square API Version | Yes | No | Square API version in YYYY-MM-DD format. Use latest stable version for best compatibility. |
| Square API Base URL | Yes | No | Square API base URL. |
Create a credential in Nexla
-
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Select the permission scope for the credential in the API Access Scope field. Choose the scope grouping that matches the data your flow needs—for example, Payments & Orders (Read) for transaction and order data, Customers & Invoices (Read) for customer and billing data, or Full Read Access to cover payments, orders, customers, invoices, and catalog items. This scope determines the permissions Nexla's application will request when you authorize with Square.
-
Confirm the Square API Version field. This should be a date in YYYY-MM-DD format (for example,
2025-10-16) identifying the version of the Square API to call. Use the latest stable version listed in the Square API changelog unless your integration depends on an older version. -
Confirm the Square API Base URL field. This defaults to the production endpoint,
https://connect.squareup.com. -
Square uses OAuth2 3-legged authentication for all API requests, handled through Nexla's pre-registered Square application. Click Authorize or Connect to initiate the OAuth2 authorization flow. You will be redirected to Square to authorize the application.
-
Sign in to your Square account if prompted, review the permissions requested by the application, and select the business locations the credential should have access to.
-
Click Allow to grant the application access to your Square account.
-
After authorization, you will be redirected back to Nexla, and the access token will be automatically configured for your credential.
Nexla's Square application handles the OAuth2 3-legged authorization flow automatically—you do not need to register your own Square application to authenticate. During credential creation, you will be redirected to Square to sign in and authorize the application. After authorization, Square will provide an access token that is used in the
Authorization: Bearer {token}header for all API requests to the Square API, along with aSquare-Versionheader identifying the API version.If your credential is compromised, you should immediately revoke it from your Square account's application authorization settings and create a new credential in Nexla. The credential provides access to your Square business data and should be treated as sensitive information.
For detailed information about Square OAuth2 authentication, permission scopes, and available endpoints, see the Square OAuth API documentation and OAuth Permissions Reference.
-
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Square connector tile, then select the credential that will be used to connect to your Square account, and click Next; or, create a new Square credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Square endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
Square data sources can also be manually configured to ingest data from any valid Square API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
All Square API requests require a Square-Version header set to the date-stamped API version (for example, 2025-10-16). Square uses cursor-based pagination via a cursor parameter and a cursor value returned in the response for most list and search endpoints.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Square data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.