Find an API

Search public APIs with auth details & Postman guides

← All APIs

Square Connect API

squareup · Finance

Finance No Auth Free & Open payment

Client library for accessing the Square Connect APIs

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET ListBankAccounts

Returns a list of [BankAccount](https://developer.squareup.com/reference/square_2021-08-18/objects/BankAccount) objects linked to a Square account.

https://api.apis.guru/v2/specs/squareup.com/2.0/v2/bank-accounts?limit=10&cursor=example&location_id=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/squareup.com/2.0/v2/bank-accounts?limit=10&cursor=example&location_id=example"
import requests
params = {
    "limit": "10",
    "cursor": "example",
    "location_id": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/squareup.com/2.0/v2/bank-accounts",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/squareup.com/2.0/v2/bank-accounts');
url.searchParams.set('limit', '10');
url.searchParams.set('cursor', 'example');
url.searchParams.set('location_id', 'example');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/squareup.com/2.0/v2/bank-accounts")
	q := baseURL.Query()
	q.Set("limit", "10")
	q.Set("cursor", "example")
	q.Set("location_id", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/squareup.com/2.0/v2/bank-accounts")
uri.query = URI.encode_www_form({
  "limit" => "10",
  "cursor" => "example",
  "location_id" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/squareup.com/2.0/v2/bank-accounts?" . http_build_query([
    "limit" => "10",
    "cursor" => "example",
    "location_id" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET ListCards

Retrieves a list of cards owned by the account making the request. A max of 25 cards will be returned.

https://api.apis.guru/v2/specs/squareup.com/2.0/v2/cards?cursor=example&sort_order=example&customer_id=example&reference_id=example&include_disabled=true

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/squareup.com/2.0/v2/cards?cursor=example&sort_order=example&customer_id=example&reference_id=example&include_disabled=true"
import requests
params = {
    "cursor": "example",
    "sort_order": "example",
    "customer_id": "example",
    "reference_id": "example",
    "include_disabled": "true"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/squareup.com/2.0/v2/cards",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/squareup.com/2.0/v2/cards');
url.searchParams.set('cursor', 'example');
url.searchParams.set('sort_order', 'example');
url.searchParams.set('customer_id', 'example');
url.searchParams.set('reference_id', 'example');
url.searchParams.set('include_disabled', 'true');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/squareup.com/2.0/v2/cards")
	q := baseURL.Query()
	q.Set("cursor", "example")
	q.Set("sort_order", "example")
	q.Set("customer_id", "example")
	q.Set("reference_id", "example")
	q.Set("include_disabled", "true")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/squareup.com/2.0/v2/cards")
uri.query = URI.encode_www_form({
  "cursor" => "example",
  "sort_order" => "example",
  "customer_id" => "example",
  "reference_id" => "example",
  "include_disabled" => "true"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/squareup.com/2.0/v2/cards?" . http_build_query([
    "cursor" => "example",
    "sort_order" => "example",
    "customer_id" => "example",
    "reference_id" => "example",
    "include_disabled" => "true"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET ListCustomers

Lists customer profiles associated with a Square account. Under normal operating conditions, newly created or updated customer profiles become available for the listing operation in well under 30 seconds. Occasionally, propagation of the new or updated profiles can take closer to one minute or long

https://api.apis.guru/v2/specs/squareup.com/2.0/v2/customers?limit=10&cursor=example&sort_field=example&sort_order=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/squareup.com/2.0/v2/customers?limit=10&cursor=example&sort_field=example&sort_order=example"
import requests
params = {
    "limit": "10",
    "cursor": "example",
    "sort_field": "example",
    "sort_order": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/squareup.com/2.0/v2/customers",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/squareup.com/2.0/v2/customers');
url.searchParams.set('limit', '10');
url.searchParams.set('cursor', 'example');
url.searchParams.set('sort_field', 'example');
url.searchParams.set('sort_order', 'example');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/squareup.com/2.0/v2/customers")
	q := baseURL.Query()
	q.Set("limit", "10")
	q.Set("cursor", "example")
	q.Set("sort_field", "example")
	q.Set("sort_order", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/squareup.com/2.0/v2/customers")
uri.query = URI.encode_www_form({
  "limit" => "10",
  "cursor" => "example",
  "sort_field" => "example",
  "sort_order" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/squareup.com/2.0/v2/customers?" . http_build_query([
    "limit" => "10",
    "cursor" => "example",
    "sort_field" => "example",
    "sort_order" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with Square Connect API?

Square Connect API is a Finance API. Developers commonly use finance APIs for:

  • processing payments and handling transactions
  • building subscription and billing systems
  • automating invoicing and financial reporting
  • fraud detection and risk scoring
  • connecting to banking and accounting software

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Square Connect API is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide

Open documentation ↗