APIs.json · Schema
JSON Schema for APIs.json 0.21
API AggregationAPI CatalogingAPI CommonsAPI DiscoveryAPI GovernanceAPI OperationsMachine-ReadableSpecificationStandards
Properties
| Name | Type | Description |
|---|---|---|
| aid | string | unique identifier for APIs.json |
| visibility | string | The visibility for the APIs.json collection. |
| rating | string | The rating for the APIs.json collection. |
| type | string | The type of the APIs.json collection. |
| kind | string | The kind of entity the collection describes (e.g. company, government, opensource, standard, contract, topic). |
| position | string | The position of the maintainer of APIs.json. |
| access | string | The access level for the APIs in an APIs.json. |
| name | string | The name of the service described |
| description | string | Description of the service |
| url | string | URL where the apis.json file will live |
| image | string | Image to represent the API |
| created | string | Date when the file was created |
| modified | string | Date when the file was modified |
| specificationVersion | string | APIs.json spec version, latest is 0.21 |
| apis | array | All the APIs of this service |
| maintainers | array | Maintainers of the apis.json file |
| tags | array | Tags to describe the service |
| include | array | Links to other apis.json definitions included in this service |
| common | array | Common properties that apply across all APIs. |
| prompts | array | AI prompts that apply across all APIs. |
| rules | array | Governance rulesets (e.g. Spectral) that apply across all APIs. |
| workflows | array | Arazzo (or other) workflows that apply across all APIs. |
| overlays | array | Links to other apis.json that will be overlaid original. |
| network | array | Links to other apis.json that will be included in discovery. |
JSON Schema
{
"$id": "https://github.com/apis-json/api-json/blob/develop/spec/",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "JSON Schema for APIs.json 0.21",
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^X-": {
"type": "object"
}
},
"$defs": {
"maintainers": {
"description": "The person or organization responsible for maintaining the API",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "name",
"minLength": 5
}
},
"additionalProperties": {
"type": "string"
}
},
"apis": {
"description": "The description of the API",
"required": [
"name",
"description",
"image",
"baseURL",
"humanURL",
"properties"
],
"properties": {
"aid": {
"type": "string",
"description": "unique identifier for API"
},
"name": {
"type": "string",
"description": "name",
"minLength": 2
},
"description": {
"type": "string",
"description": "description of the API",
"minLength": 5
},
"image": {
"type": "string",
"description": "URL of an image representing the API"
},
"created": {
"type": "string",
"format": "date",
"description": "Date when the api was added to APIs.json"
},
"modified": {
"type": "string",
"format": "date",
"description": "Date when the api was last modified"
},
"baseURL": {
"type": "string",
"pattern": "^(http)|(https)://(.*)$",
"description": "baseURL"
},
"humanURL": {
"type": "string",
"pattern": "^(http)|(https)://(.*)$",
"description": "humanURL"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "tags to describe the API"
},
"properties": {
"type": "array",
"items": {
"$ref": "#/$defs/urls"
},
"description": "URLs"
},
"prompts": {
"type": "array",
"items": {
"$ref": "#/$defs/urls"
},
"description": "AI prompts that apply to this API"
},
"rules": {
"type": "array",
"items": {
"$ref": "#/$defs/urls"
},
"description": "Governance rulesets (e.g. Spectral) that apply to this API"
},
"workflows": {
"type": "array",
"items": {
"$ref": "#/$defs/urls"
},
"description": "Arazzo (or other) workflows that apply to this API"
},
"contact": {
"type": "array",
"items": {
"$ref": "#/$defs/contact"
},
"description": "Contact to reach if questions about API"
},
"meta": {
"type": "array",
"items": {
"$ref": "#/$defs/metaInformation"
}
}
}
},
"metaInformation": {
"description": "Metadata about the API",
"required": [
"key",
"value"
],
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"contact": {
"description": "Information on contacting the API support",
"required": [
"FN"
],
"additionalProperties": true,
"patternProperties": {
"^X-": {
"type": "string"
}
},
"properties": {
"FN": {
"type": "string",
"minLength": 1
},
"email": {
"type": "string",
"format": "email"
},
"organizationName": {
"type": "string",
"minLength": 1
},
"adr": {
"type": "string"
},
"tel": {
"type": "string",
"minLength": 1
},
"X-twitter": {
"type": "string"
},
"X-github": {
"type": "string"
},
"photo": {
"type": "string",
"pattern": "^(http)|(https)://(.*)$"
},
"vCard": {
"type": "string",
"pattern": "^(http)|(https)://(.*)$"
},
"url": {
"type": "string",
"pattern": "^(http)|(https)://(.*)$"
}
}
},
"urls": {
"description": "A representation of a URL",
"required": [
"type"
],
"oneOf": [
{
"required": [
"url"
]
},
{
"required": [
"data"
]
}
],
"properties": {
"name": {
"type": "string",
"description": "The display name of the property."
},
"description": {
"type": "string",
"description": "The description of the property.",
"minLength": 5
},
"type": {
"type": "string",
"description": "One of the designated API property types or a custom one prefixed with X-.",
"pattern": "^(Swagger|OpenAPI|JSONSchema|GraphQLSchema|GraphQL|PostmanCollection|PostmanWorkspace|InsomniaCollection|BrunoCollection|AsyncAPI|RAML|Blueprint|WADL|WSDL|ALPS|OpenAIPluginManifest|JSONLD|JSONLDContext|JSONForms|JSONStructure|Vocabulary|Arazzo|Overlay|ServerlessWorkflow|Workflow|Compare|Evolution|DataContract|SpectralRules|Rules|GovernanceRules|GettingStarted|Documentation|APIReference|Authentication|APIOnboarding|Versioning|Signup|Login|SDKs|CLI|Console|Sandbox|Examples|ApiExamples|FAQ|Summary|Features|Solutions|Tools|Careers|Prompt|AgentPrompt|PromptTemplate|AgentSkills|LlmsText|ModelContextProtocol|MCPServer|MockRestServer|MockMCPServer|BackstageApi|Standards|Conformance|Services|About|Specification|Plans|Pricing|RateLimits|StatusPage|ChangeLog|ReleaseNotes|RoadMap|DeprecationPolicy|TermsOfService|InterfaceLicense|PrivacyPolicy|ServiceLevelAgreement|Security|Compliance|License|Training|Blog|BlogFeed|Forums|Support|Contact|ErrorCodes|Webhooks|Integrations|UseCases|Community|StackOverflow|Slack|Discord|Website|Portal|DeveloperPortal|YouTube|LinkedIn|GitHubOrg|GitHubOrganization|GitHubRepo|GitHubRepository|GitHubHttpUrl|GitHubSshUrl|GitHubIssues|GitHubDiscussions|Twitter|X|AlertsTwitterHandle|FinOps|FinOpsFramework|FocusBillingExport|FocusConformanceReport|FocusContractCommitments|OpenCostSpecification|OpenCostAllocationAPI|UnitEconomics|ChargebackPolicy|TaggingPolicy|InvoiceReconciliation|SoftwareCarbonIntensity|SCIReport|GHGProtocolReport|PublicAPIsListing|Review)$|^(X-[A-Za-z0-9\\-]*)$"
},
"mediaType": {
"type": "string",
"description": "IANA media type representing the property."
},
"url": {
"type": "string",
"description": "The URL for the property. * must be url or data."
},
"data": {
"oneOf": [
{
"type": "object"
},
{
"type": "array"
}
],
"description": "The data for the property. * must be url or data"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Tags to describe the property."
}
}
},
"tags": {
"description": "A consistent set of tag to apply to a description"
},
"include": {
"description": "Include other APIs.json file",
"required": [
"name",
"url"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string"
}
}
},
"overlay": {
"description": "Overlay other APIs.json file",
"required": [
"url"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string"
}
}
},
"network": {
"description": "Network APIs.json file",
"required": [
"name",
"url"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string"
}
}
}
},
"required": [
"name",
"description",
"url",
"apis",
"maintainers",
"tags"
],
"properties": {
"aid": {
"type": "string",
"description": "unique identifier for APIs.json"
},
"visibility": {
"type": "string",
"description": "The visibility for the APIs.json collection.",
"enum": [
"Public",
"Private",
"Partner"
]
},
"rating": {
"type": "string",
"description": "The rating for the APIs.json collection.",
"enum": [
"A",
"B",
"C",
"D",
"F"
]
},
"type": {
"type": "string",
"description": "The type of the APIs.json collection.",
"enum": [
"Index",
"Template",
"Example",
"Collection",
"Sandbox",
"Knowledgebase",
"Blueprint",
"Contract",
"Search",
"Network"
]
},
"kind": {
"type": "string",
"description": "The kind of entity the collection describes (e.g. company, government, opensource, standard, contract, topic)."
},
"position": {
"type": "string",
"description": "The position of the maintainer of APIs.json.",
"enum": [
"Producing",
"Consuming"
]
},
"access": {
"type": "string",
"description": "The access level for the APIs in an APIs.json.",
"enum": [
"Internal",
"1st-Party",
"3rd-Party"
]
},
"name": {
"type": "string",
"description": "The name of the service described",
"minLength": 3,
"maxLength": 50
},
"description": {
"type": "string",
"description": "Description of the service",
"minLength": 5,
"maxLength": 1000
},
"url": {
"type": "string",
"description": "URL where the apis.json file will live",
"pattern": "^(http)|(https)://(.*)$"
},
"image": {
"type": "string",
"description": "Image to represent the API"
},
"created": {
"type": "string",
"format": "date",
"description": "Date when the file was created"
},
"modified": {
"type": "string",
"format": "date",
"description": "Date when the file was modified"
},
"specificationVersion": {
"type": "string",
"description": "APIs.json spec version, latest is 0.21"
},
"apis": {
"type": "array",
"items": {
"$ref": "#/$defs/apis"
},
"description": "All the APIs of this service"
},
"maintainers": {
"type": "array",
"items": {
"$ref": "#/$defs/contact"
},
"description": "Maintainers of the apis.json file"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/$defs/tags"
},
"description": "Tags to describe the service"
},
"include": {
"type": "array",
"items": {
"$ref": "#/$defs/include"
},
"description": "Links to other apis.json definitions included in this service"
},
"common": {
"description": "Common properties that apply across all APIs.",
"type": "array",
"items": {
"$ref": "#/$defs/urls"
}
},
"prompts": {
"description": "AI prompts that apply across all APIs.",
"type": "array",
"items": {
"$ref": "#/$defs/urls"
}
},
"rules": {
"description": "Governance rulesets (e.g. Spectral) that apply across all APIs.",
"type": "array",
"items": {
"$ref": "#/$defs/urls"
}
},
"workflows": {
"description": "Arazzo (or other) workflows that apply across all APIs.",
"type": "array",
"items": {
"$ref": "#/$defs/urls"
}
},
"overlays": {
"type": "array",
"items": {
"$ref": "#/$defs/overlay"
},
"description": "Links to other apis.json that will be overlaid original."
},
"network": {
"type": "array",
"items": {
"$ref": "#/$defs/network"
},
"description": "Links to other apis.json that will be included in discovery."
}
}
}
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/apis-json-schema-0.21"
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.