Schema.org · Schema

Schema.org WebAPI

An application programming interface accessible over Web/Internet technologies, as defined by the Schema.org WebAPI type.

Schema.orgStructured DataLinked DataJSON-LDVocabularySEOWeb StandardsRDFOntology

Properties

Name Type Description
@type string The Schema.org type.
@context string The JSON-LD context URL.
name string The name of the API.
description string A description of the API.
url string URL of the API.
documentation object Further documentation describing the Web API in more detail.
termsOfService string Human-readable terms of service documentation.
provider object The service provider, service operator, or service performer.
availableChannel object A means of accessing the service.
category string A category for the API.
offers object An offer to provide this API, including pricing and access information.
audience object An intended audience for the API.
View JSON Schema on GitHub

JSON Schema

schema-org-web-api-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schema.org/schemas/web-api.json",
  "title": "Schema.org WebAPI",
  "description": "An application programming interface accessible over Web/Internet technologies, as defined by the Schema.org WebAPI type.",
  "type": "object",
  "required": ["@type", "name"],
  "properties": {
    "@type": {
      "type": "string",
      "description": "The Schema.org type.",
      "const": "WebAPI"
    },
    "@context": {
      "type": "string",
      "description": "The JSON-LD context URL.",
      "default": "https://schema.org"
    },
    "name": {
      "type": "string",
      "description": "The name of the API."
    },
    "description": {
      "type": "string",
      "description": "A description of the API."
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "URL of the API."
    },
    "documentation": {
      "oneOf": [
        {
          "type": "string",
          "format": "uri"
        },
        {
          "$ref": "#/$defs/CreativeWork"
        }
      ],
      "description": "Further documentation describing the Web API in more detail."
    },
    "termsOfService": {
      "type": "string",
      "format": "uri",
      "description": "Human-readable terms of service documentation."
    },
    "provider": {
      "oneOf": [
        {
          "$ref": "#/$defs/Organization"
        },
        {
          "$ref": "#/$defs/Person"
        }
      ],
      "description": "The service provider, service operator, or service performer."
    },
    "availableChannel": {
      "$ref": "#/$defs/ServiceChannel",
      "description": "A means of accessing the service."
    },
    "category": {
      "type": "string",
      "description": "A category for the API."
    },
    "offers": {
      "oneOf": [
        {
          "$ref": "#/$defs/Offer"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Offer"
          }
        }
      ],
      "description": "An offer to provide this API, including pricing and access information."
    },
    "audience": {
      "$ref": "#/$defs/Audience",
      "description": "An intended audience for the API."
    }
  },
  "$defs": {
    "CreativeWork": {
      "type": "object",
      "description": "The most generic kind of creative work.",
      "properties": {
        "@type": {
          "type": "string",
          "const": "CreativeWork"
        },
        "name": {
          "type": "string",
          "description": "The name of the documentation."
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "URL of the documentation."
        },
        "encodingFormat": {
          "type": "string",
          "description": "Media type of the documentation (e.g., text/html, application/pdf)."
        }
      }
    },
    "Organization": {
      "type": "object",
      "description": "An organization such as a company, institution, or NGO.",
      "properties": {
        "@type": {
          "type": "string",
          "const": "Organization"
        },
        "name": {
          "type": "string",
          "description": "The name of the organization."
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "URL of the organization."
        }
      }
    },
    "Person": {
      "type": "object",
      "description": "A person.",
      "properties": {
        "@type": {
          "type": "string",
          "const": "Person"
        },
        "name": {
          "type": "string",
          "description": "The name of the person."
        }
      }
    },
    "ServiceChannel": {
      "type": "object",
      "description": "A means for accessing a service.",
      "properties": {
        "@type": {
          "type": "string",
          "const": "ServiceChannel"
        },
        "serviceUrl": {
          "type": "string",
          "format": "uri",
          "description": "The website to access the service."
        },
        "providesService": {
          "type": "string",
          "description": "The service provided by this channel."
        }
      }
    },
    "Offer": {
      "type": "object",
      "description": "An offer to transfer some rights to an item or to provide a service.",
      "properties": {
        "@type": {
          "type": "string",
          "const": "Offer"
        },
        "price": {
          "type": "number",
          "description": "The offer price."
        },
        "priceCurrency": {
          "type": "string",
          "description": "The currency of the price (ISO 4217).",
          "pattern": "^[A-Z]{3}$"
        },
        "description": {
          "type": "string",
          "description": "A description of the offer."
        }
      }
    },
    "Audience": {
      "type": "object",
      "description": "The target group associated with a given audience.",
      "properties": {
        "@type": {
          "type": "string",
          "const": "Audience"
        },
        "audienceType": {
          "type": "string",
          "description": "The target group associated with a given audience."
        }
      }
    }
  }
}

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.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/schema-org-web-api"
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 email required.

A second provider on the same verified email joins the account you already have.