Square · Schema
BulkRetrieveBookingsResponse
Response payload for bulk retrieval of bookings.
BookingLocationSquareRestaurantCatalogCheckoutCustomersDisputesE-CommerceFinancial TechnologyGift CardsInventoryInvoicingLaborLoyaltyMerchantsOrderPaymentsPoint-of-SaleRefundsRetailSubscriptionTeamWebhookPayment ProcessingPayment Terminals
Properties
| Name | Type | Description |
|---|---|---|
| bookings | object | Requested bookings returned as a map containing `booking_id` as the key and `RetrieveBookingResponse` as the value. |
| errors | array | Errors that occurred during the request. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/square/main/json-schema/square-bulk-retrieve-bookings-response-schema.json",
"title": "BulkRetrieveBookingsResponse",
"description": "Response payload for bulk retrieval of bookings.",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/square-bookings-api-openapi.yml#/components/schemas/BulkRetrieveBookingsResponse",
"type": "object",
"x-release-status": "PUBLIC",
"properties": {
"bookings": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/RetrieveBookingResponse"
},
"description": "Requested bookings returned as a map containing `booking_id` as the key and `RetrieveBookingResponse` as the value."
},
"errors": {
"type": "array",
"items": {
"$ref": "#/$defs/Error"
},
"description": "Errors that occurred during the request."
}
},
"$defs": {
"Address": {
"type": "object",
"description": "Represents a postal address in a country. \nFor more information, see [Working with Addresses](https://developer.squareup.com/docs/build-basics/working-with-addresses).",
"x-release-status": "PUBLIC",
"properties": {
"address_line_1": {
"type": [
"string",
"null"
],
"description": "The first line of the address.\n\nFields that start with `address_line` provide the address's most specific\ndetails, like street number, street name, and building name. They do *not*\nprovide less specific details like city, state/province, or country (these\ndetails are provided in other fields)."
},
"address_line_2": {
"type": [
"string",
"null"
],
"description": "The second line of the address, if any."
},
"address_line_3": {
"type": [
"string",
"null"
],
"description": "The third line of the address, if any."
},
"locality": {
"type": [
"string",
"null"
],
"description": "The city or town of the address. For a full list of field meanings by country, see [Working with Addresses](https://developer.squareup.com/docs/build-basics/working-with-addresses)."
},
"sublocality": {
"type": [
"string",
"null"
],
"description": "A civil region within the address's `locality`, if any."
},
"sublocality_2": {
"type": [
"string",
"null"
],
"description": "A civil region within the address's `sublocality`, if any."
},
"sublocality_3": {
"type": [
"string",
"null"
],
"description": "A civil region within the address's `sublocality_2`, if any."
},
"administrative_district_level_1": {
"type": [
"string",
"null"
],
"description": "A civil entity within the address's country. In the US, this\nis the state. For a full list of field meanings by country, see [Working with Addresses](https://developer.squareup.com/docs/build-basics/working-with-addresses)."
},
"administrative_district_level_2": {
"type": [
"string",
"null"
],
"description": "A civil entity within the address's `administrative_district_level_1`.\nIn the US, this is the county."
},
"administrative_district_level_3": {
"type": [
"string",
"null"
],
"description": "A civil entity within the address's `administrative_district_level_2`,\nif any."
},
"postal_code": {
"type": [
"string",
"null"
],
"description": "The address's postal code. For a full list of field meanings by country, see [Working with Addresses](https://developer.squareup.com/docs/build-basics/working-with-addresses)."
},
"country": {
"$ref": "#/$defs/Country",
"description": "The address's country, in the two-letter format of ISO 3166. For example, `US` or `FR`.\nSee [Country](#type-country) for possible values"
},
"first_name": {
"type": [
"string",
"null"
],
"description": "Optional first name when it's representing recipient."
},
"last_name": {
"type": [
"string",
"null"
],
"description": "Optional last name when it's representing recipient."
}
}
},
"AppointmentSegment": {
"type": "object",
"description": "Defines an appointment segment of a booking.",
"x-release-status": "PUBLIC",
"required": [
"team_member_id"
],
"properties": {
"duration_minutes": {
"type": [
"integer",
"null"
],
"description": "The time span in minutes of an appointment segment.",
"maximum": 1500
},
"service_variation_id": {
"type": [
"string",
"null"
],
"description": "The ID of the [CatalogItemVariation](entity:CatalogItemVariation) object representing the service booked in this segment.",
"maxLength": 36
},
"team_member_id": {
"type": "string",
"description": "The ID of the [TeamMember](entity:TeamMember) object representing the team member booked in this segment.",
"minLength": 1,
"maxLength": 32
},
"service_variation_version": {
"type": [
"integer",
"null"
],
"description": "The current version of the item variation representing the service booked in this segment.",
"format": "int64"
},
"intermission_minutes": {
"type": "integer",
"description": "Time between the end of this segment and the beginning of the subsequent segment.",
"readOnly": true
},
"any_team_member": {
"type": "boolean",
"description": "Whether the customer accepts any team member, instead of a specific one, to serve this segment.",
"readOnly": true
},
"resource_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "The IDs of the seller-accessible resources used for this appointment segment.",
"readOnly": true
}
}
},
"Booking": {
"type": "object",
"description": "Represents a booking as a time-bound service contract for a seller's staff member to provide a specified service\nat a given location to a requesting customer in one or more appointment segments.",
"x-release-status": "PUBLIC",
"properties": {
"id": {
"type": "string",
"description": "A unique ID of this object representing a booking.",
"maxLength": 36,
"readOnly": true
},
"version": {
"type": "integer",
"description": "The revision number for the booking used for optimistic concurrency."
},
"status": {
"$ref": "#/$defs/BookingStatus",
"description": "The status of the booking, describing where the booking stands with respect to the booking state machine.\nSee [BookingStatus](#type-bookingstatus) for possible values",
"readOnly": true
},
"created_at": {
"type": "string",
"description": "The RFC 3339 timestamp specifying the creation time of this booking.",
"readOnly": true
},
"updated_at": {
"type": "string",
"description": "The RFC 3339 timestamp specifying the most recent update time of this booking.",
"readOnly": true
},
"start_at": {
"type": [
"string",
"null"
],
"description": "The RFC 3339 timestamp specifying the starting time of this booking."
},
"location_id": {
"type": [
"string",
"null"
],
"description": "The ID of the [Location](entity:Location) object representing the location where the booked service is provided. Once set when the booking is created, its value cannot be changed.",
"maxLength": 32
},
"customer_id": {
"type": [
"string",
"null"
],
"description": "The ID of the [Customer](entity:Customer) object representing the customer receiving the booked service.",
"maxLength": 192
},
"customer_note": {
"type": [
"string",
"null"
],
"description": "The free-text field for the customer to supply notes about the booking. For example, the note can be preferences that cannot be expressed by supported attributes of a relevant [CatalogObject](entity:CatalogObject) instance.",
"maxLength": 4096
},
"seller_note": {
"type": [
"string",
"null"
],
"description": "The free-text field for the seller to supply notes about the booking. For example, the note can be preferences that cannot be expressed by supported attributes of a specific [CatalogObject](entity:CatalogObject) instance.\nThis field should not be visible to customers.",
"maxLength": 4096
},
"appointment_segments": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/AppointmentSegment"
},
"description": "A list of appointment segments for this booking."
},
"transition_time_minutes": {
"type": "integer",
"description": "Additional time at the end of a booking.\nApplications should not make this field visible to customers of a seller.",
"readOnly": true
},
"all_day": {
"type": "boolean",
"description": "Whether the booking is of a full business day.",
"readOnly": true
},
"location_type": {
"$ref": "#/$defs/BusinessAppointmentSettingsBookingLocationType",
"description": "The type of location where the booking is held.\nSee [BusinessAppointmentSettingsBookingLocationType](#type-businessappointmentsettingsbookinglocationtype) for possible values"
},
"creator_details": {
"$ref": "#/$defs/BookingCreatorDetails",
"description": "Information about the booking creator.",
"readOnly": true
},
"source": {
"$ref": "#/$defs/BookingBookingSource",
"description": "The source of the booking.\nAccess to this field requires seller-level permissions.\nSee [BookingBookingSource](#type-bookingbookingsource) for possible values",
"readOnly": true
},
"address": {
"$ref": "#/$defs/Address",
"description": "Stores a customer address if the location type is `CUSTOMER_LOCATION`."
}
}
},
"BookingBookingSource": {
"type": "string",
"enum": [
"FIRST_PARTY_MERCHANT",
"FIRST_PARTY_BUYER",
"THIRD_PARTY_BUYER",
"API"
],
"x-enum-elements": [
{
"name": "FIRST_PARTY_MERCHANT",
"description": "The booking was created by a seller from a Square Appointments application, such as the Square Appointments Dashboard or a Square Appointments mobile app."
},
{
"name": "FIRST_PARTY_BUYER",
"description": "The booking was created by a buyer from a Square Appointments application, such as Square Online Booking Site."
},
{
"name": "THIRD_PARTY_BUYER",
"description": "The booking was created by a buyer created from a third-party application."
},
{
"name": "API",
"description": "The booking was created by a seller or a buyer from the Square Bookings API."
}
],
"description": "Supported sources a booking was created from.",
"x-release-status": "PUBLIC"
},
"BookingCreatorDetails": {
"type": "object",
"description": "Information about a booking creator.",
"x-release-status": "PUBLIC",
"properties": {
"creator_type": {
"$ref": "#/$defs/BookingCreatorDetailsCreatorType",
"description": "The seller-accessible type of the creator of the booking.\nSee [BookingCreatorDetailsCreatorType](#type-bookingcreatordetailscreatortype) for possible values",
"readOnly": true
},
"team_member_id": {
"type": "string",
"description": "The ID of the team member who created the booking, when the booking creator is of the `TEAM_MEMBER` type.\nAccess to this field requires seller-level permissions.",
"maxLength": 32,
"readOnly": true
},
"customer_id": {
"type": "string",
"description": "The ID of the customer who created the booking, when the booking creator is of the `CUSTOMER` type.\nAccess to this field requires seller-level permissions.",
"maxLength": 192,
"readOnly": true
}
}
},
"BookingCreatorDetailsCreatorType": {
"type": "string",
"enum": [
"TEAM_MEMBER",
"CUSTOMER"
],
"x-enum-elements": [
{
"name": "TEAM_MEMBER",
"description": "The creator is of the seller type."
},
{
"name": "CUSTOMER",
"description": "The creator is of the buyer type."
}
],
"description": "Supported types of a booking creator.",
"x-release-status": "PUBLIC"
},
"BookingStatus": {
"type": "string",
"enum": [
"PENDING",
"CANCELLED_BY_CUSTOMER",
"CANCELLED_BY_SELLER",
"DECLINED",
"ACCEPTED",
"NO_SHOW"
],
"x-enum-elements": [
{
"name": "PENDING",
"description": "An unaccepted booking. It is visible to both sellers and customers."
},
{
"name": "CANCELLED_BY_CUSTOMER",
"description": "A customer-cancelled booking. It is visible to both the seller and the customer."
},
{
"name": "CANCELLED_BY_SELLER",
"description": "A seller-cancelled booking. It is visible to both the seller and the customer."
},
{
"name": "DECLINED",
"description": "A declined booking. It had once been pending, but was then declined by the seller."
},
{
"name": "ACCEPTED",
"description": "An accepted booking agreed to or accepted by the seller."
},
{
"name": "NO_SHOW",
"description": "A no-show booking. The booking was accepted at one time, but have now been marked as a no-show by\nthe seller because the client either missed the booking or cancelled it without enough notice."
}
],
"description": "Supported booking statuses.",
"x-release-status": "PUBLIC"
},
"BusinessAppointmentSettingsBookingLocationType": {
"type": "string",
"enum": [
"BUSINESS_LOCATION",
"CUSTOMER_LOCATION",
"PHONE"
],
"x-enum-elements": [
{
"name": "BUSINESS_LOCATION",
"description": "The service is provided at a seller location."
},
{
"name": "CUSTOMER_LOCATION",
"description": "The service is provided at a customer location."
},
{
"name": "PHONE",
"description": "The service is provided over the phone."
}
],
"description": "Supported types of location where service is provided.",
"x-release-status": "PUBLIC"
},
"Country": {
"type": "string",
"enum": [
"ZZ",
"AD",
"AE",
"AF",
"AG",
"AI",
"AL",
"AM",
"AO",
"AQ",
"AR",
"AS",
"AT",
"AU",
"AW",
"AX",
"AZ",
"BA",
"BB",
"BD",
"BE",
"BF",
"BG",
"BH",
"BI",
"BJ",
"BL",
"BM",
"BN",
"BO",
"BQ",
"BR",
"BS",
"BT",
"BV",
"BW",
"BY",
"BZ",
"CA",
"CC",
"CD",
"CF",
"CG",
"CH",
"CI",
"CK",
"CL",
"CM",
"CN",
"CO",
"CR",
"CU",
"CV",
"CW",
"CX",
"CY",
"CZ",
"DE",
"DJ",
"DK",
"DM",
"DO",
"DZ",
"EC",
"EE",
"EG",
"EH",
"ER",
"ES",
"ET",
"FI",
"FJ",
"FK",
"FM",
"FO",
"FR",
"GA",
"GB",
"GD",
"GE",
"GF",
"GG",
"GH",
"GI",
"GL",
"GM",
"GN",
"GP",
"GQ",
"GR",
"GS",
"GT",
"GU",
"GW",
"GY",
"HK",
"HM",
"HN",
"HR",
"HT",
"HU",
"ID",
"IE",
"IL",
"IM",
"IN",
"IO",
"IQ",
"IR",
"IS",
"IT",
"JE",
"JM",
"JO",
"JP",
"KE",
"KG",
"KH",
"KI",
"KM",
"KN",
"KP",
"KR",
"KW",
"KY",
"KZ",
"LA",
"LB",
"LC",
"LI",
"LK",
"LR",
"LS",
"LT",
"LU",
"LV",
"LY",
"MA",
"MC",
"MD",
"ME",
"MF",
"MG",
"MH",
"MK",
"ML",
"MM",
"MN",
"MO",
"MP",
"MQ",
"MR",
"MS",
"MT",
"MU",
"MV",
"MW",
"MX",
"MY",
"MZ",
"NA",
"NC",
"NE",
"NF",
"NG",
"NI",
"NL",
"NO",
"NP",
"NR",
"NU",
"NZ",
"OM",
"PA",
"PE",
"PF",
"PG",
"PH",
"PK",
"PL",
"PM",
"PN",
"PR",
"PS",
"PT",
"PW",
"PY",
"QA",
"RE",
"RO",
"RS",
"RU",
"RW",
"SA",
"SB",
"SC",
"SD",
"SE",
"SG",
"SH",
"SI",
"SJ",
"SK",
"SL",
"SM",
"SN",
"SO",
"SR",
"SS",
"ST",
"SV",
"SX",
"SY",
"SZ",
"TC",
"TD",
"TF",
"TG",
"TH",
"TJ",
"TK",
"TL",
"TM",
"TN",
"TO",
"TR",
"TT",
"TV",
"TW",
"TZ",
"UA",
"UG",
"UM",
"US",
"UY",
"UZ",
"VA",
"VC",
"VE",
"VG",
"VI",
"VN",
"VU",
"WF",
"WS",
"YE",
"YT",
"ZA",
"ZM",
"ZW"
],
"x-enum-elements": [
{
"name": "ZZ",
"description": "Unknown"
},
{
"name": "AD",
"description": "Andorra"
},
{
"name": "AE",
"description": "United Arab Emirates"
},
{
"name": "AF",
"description": "Afghanistan"
},
{
"name": "AG",
"description": "Antigua and Barbuda"
},
{
"name": "AI",
"description": "Anguilla"
},
{
"name": "AL",
"description": "Albania"
},
{
"name": "AM",
"description": "Armenia"
},
{
"name": "AO",
"description": "Angola"
},
{
"name": "AQ",
"description": "Antartica"
},
{
"name": "AR",
"description": "Argentina"
},
{
"name": "AS",
"description": "American Samoa"
},
{
"name": "AT",
"description": "Austria"
},
{
"name": "AU",
"description": "Australia"
},
{
"name": "AW",
"description": "Aruba"
},
{
"name": "AX",
"description": "Åland Islands"
},
{
"name": "AZ",
"description": "Azerbaijan"
},
{
"name": "BA",
"description": "Bosnia and Herzegovina"
},
{
"name": "BB",
"description": "Barbados"
},
{
"name": "BD",
"description": "Bangladesh"
},
{
"name": "BE",
"description": "Belgium"
},
{
"name": "BF",
"description": "Burkina Faso"
},
{
"name": "BG",
"description": "Bulgaria"
},
{
"name": "BH",
"description": "Bahrain"
},
{
"name": "BI",
"description": "Burundi"
},
{
"name": "BJ",
"description": "Benin"
},
{
"name": "BL",
"description": "Saint Barthélemy"
},
{
"name": "BM",
"description": "Bermuda"
},
{
"name": "BN",
"description": "Brunei"
},
{
"name": "BO",
"description": "Bolivia"
},
{
"name": "BQ",
"description": "Bonaire"
},
{
"name": "BR",
"description": "Brazil"
},
{
"name": "BS",
"description": "Bahamas"
},
{
"name": "BT",
"description": "Bhutan"
},
{
"name": "BV",
"description": "Bouvet Island"
},
{
"name": "BW",
"description": "Botswana"
},
{
"name": "BY",
"description": "Belarus"
},
{
"name": "BZ",
"description": "Belize"
},
{
"name": "CA",
"description": "Canada"
},
{
"name": "CC",
"description": "Cocos Islands"
},
{
"name": "CD",
"description": "Democratic Republic of the Congo"
},
{
"name": "CF",
"description": "Central African Republic"
},
{
"name": "CG",
"description": "Congo"
},
{
"name": "CH",
"description": "Switzerland"
},
{
"name": "CI",
"description": "Ivory Coast"
},
{
"name": "CK",
"description": "Cook Islands"
},
{
"name": "CL",
"description": "Chile"
},
{
"name": "CM",
"description": "Cameroon"
},
{
"name": "CN",
"description": "China"
},
{
"name": "CO",
"description": "Colombia"
},
{
"name": "CR",
"description": "Costa Rica"
},
{
"name": "CU",
"description": "Cuba"
},
{
"name": "CV",
"description": "Cabo Verde"
},
{
"name": "CW",
"description": "Curaçao"
},
{
"name": "CX",
"description": "Christmas Island"
},
{
"name": "CY",
"description": "Cyprus"
},
{
"name": "CZ",
"description": "Czechia"
},
{
"name": "DE",
"description": "Germany"
},
{
"name": "DJ",
"description": "Djibouti"
},
{
"name": "DK",
"description": "Denmark"
},
{
"name": "DM",
"description": "Dominica"
},
{
"name": "DO",
"description": "Dominican Republic"
},
{
"name": "DZ",
"description": "Algeria"
},
{
"name": "EC",
"description": "Ecuador"
},
{
"name": "EE",
"description": "Estonia"
},
{
"name": "EG",
"description": "Egypt"
},
{
"name": "EH",
"description": "Western Sahara"
},
{
"name": "ER",
"description": "Eritrea"
},
{
"name": "ES",
"description": "Spain"
},
{
"name": "ET",
"description": "Ethiopia"
},
{
"name": "FI",
"description": "Finland"
},
{
"name": "FJ",
"description": "Fiji"
},
{
"name": "FK",
"description": "Falkland Islands"
},
{
"name": "FM",
"description": "Federated States of Micronesia"
},
{
"name": "FO",
"description": "Faroe Islands"
},
{
"name": "FR",
"description": "France"
},
{
"name": "GA",
"description": "Gabon"
},
{
"name": "GB",
"description": "United Kingdom"
},
{
"name": "GD",
"description": "Grenada"
},
{
"name": "GE",
"description": "Georgia"
},
{
"name": "GF",
"description": "French Guiana"
},
{
"name": "GG",
"description": "Guernsey"
},
{
"name": "GH",
"description": "Ghana"
},
{
"name": "GI",
"description": "Gibraltar"
},
{
"name": "GL",
"description": "Greenland"
},
{
"name": "GM",
"description": "Gambia"
},
{
"name": "GN",
"description": "Guinea"
},
{
"name": "GP",
"description": "Guadeloupe"
},
{
"name": "GQ",
"description": "Equatorial Guinea"
},
{
"name": "GR",
"description": "Greece"
},
{
"name": "GS",
"description": "South Georgia and the South Sandwich Islands"
},
{
"name": "GT",
"description": "Guatemala"
},
{
"name": "GU",
"description": "Guam"
},
{
"name": "GW",
"description": "Guinea-Bissau"
},
{
"name": "GY",
"description": "Guyana"
},
{
"name": "HK",
"description": "Hong Kong"
},
{
"name": "HM",
"description": "Heard Island and McDonald Islands"
},
{
"name": "HN",
"description": "Honduras"
},
{
"name": "HR",
"description": "Croatia"
},
{
"name": "HT",
"description": "Haiti"
},
{
"name": "HU",
"description": "Hungary"
},
{
"name": "ID",
"description": "Indonesia"
},
{
"name": "IE",
"description": "Ireland"
},
{
"name": "IL",
"description": "Israel"
},
{
"name": "IM",
"description": "Isle of Man"
},
{
"name": "IN",
"description": "India"
},
{
"name": "IO",
"description": "British Indian Ocean Territory"
},
{
"name": "IQ",
"description": "Iraq"
},
{
"name": "IR",
"description": "Iran"
},
{
"name": "IS",
"description": "Iceland"
},
{
"name": "IT",
"description": "Italy"
},
{
"name": "JE",
"description": "Jersey"
},
{
"name": "JM",
"description": "Jamaica"
},
{
"name": "JO",
"description": "Jordan"
},
{
"name": "JP",
"description": "Japan"
},
{
"name": "KE",
"description": "Kenya"
},
{
"name": "KG",
"description": "Kyrgyzstan"
},
{
"name": "KH",
"description": "Cambodia"
},
{
"name": "KI",
"description": "Kiribati"
},
{
"name": "KM",
"description": "Comoros"
},
{
"name": "KN",
"description": "Saint Kitts and Nevis"
},
{
"name": "KP",
"description": "Democratic People's Republic of Korea"
},
{
"name": "KR",
"description": "Republic of Korea"
},
{
"name": "KW",
"description": "Kuwait"
},
{
"name": "KY",
"description": "Cayman Islands"
},
{
"name": "KZ",
"description": "Kazakhstan"
},
{
"name": "LA",
"description": "Lao People's Democratic Republic"
},
{
"name": "LB",
"description": "Lebanon"
},
{
"name": "LC",
"description": "Saint Lucia"
},
{
"name": "LI",
"description": "Liechtenstein"
},
{
"name": "LK",
"description": "Sri Lanka"
},
{
"name": "LR",
"description": "Liberia"
},
{
"name": "LS",
"description": "Lesotho"
},
{
"name": "LT",
"description": "Lithuania"
},
{
"name": "LU",
"description": "Luxembourg"
},
{
"name": "LV",
"description": "Latvia"
},
{
"name": "LY",
"description": "Libya"
},
{
"name": "MA",
"description": "Morocco"
},
{
"name": "MC",
"description": "Monaco"
},
{
"name": "MD",
"description": "Moldova"
},
{
"name": "ME",
"description": "Montenegro"
},
{
"name": "MF",
"description": "Saint Martin"
},
{
"name": "MG",
"description": "Madagascar"
},
{
"name": "MH",
"description": "Marshall Islands"
},
{
"name": "MK",
"description": "North Macedonia"
},
{
"name": "ML",
"description": "Mali"
},
{
"name": "MM",
"description": "Myanmar"
},
{
"name": "MN",
"description": "Mongolia"
},
{
"name": "MO",
"description": "Macao"
},
{
"name": "MP",
"description": "Northern Mariana Islands"
},
{
"name": "MQ",
"description": "Martinique"
},
{
"name": "MR",
"description": "Mauritania"
},
{
"name": "MS",
"description": "Montserrat"
},
{
"name": "MT",
"description": "Malta"
},
{
"name": "MU",
"description": "Mauritius"
# --- truncated at 32 KB (80 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/square/refs/heads/main/json-schema/square-bulk-retrieve-bookings-response-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/square-bulk-retrieve-bookings-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.