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."
        }
      }
    }
  }
}