Yoast Schema Aggregator API

Aggregated Schema.org output for a WordPress site

Operations 3

GET /yoast/v1/schema-aggregator/get-schema/{post_type} Get aggregated schema for a post type #
GET /yoast/v1/schema-aggregator/get-schema/{post_type}/{page} Get one page of aggregated schema for a post type #
GET /yoast/v1/schema-aggregator/get-xml Get the XML schemamap #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/yoast-schema-aggregator-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

yoast-schema-aggregator-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Yoast Schema Aggregator API
  description: The Yoast Schema Aggregator exposes a site's aggregated Schema.org structured data over the WordPress REST API. It returns paginated JSON-L bundles of the schema for a given post type, plus an XML "schemamap" listing every available schema endpoint on the site — the structured-data equivalent of an XML sitemap, intended for search engines and AI crawlers that want a site's entity graph in one place.
  version: '1.0'
  contact:
    name: Yoast Developer Portal
    url: https://developer.yoast.com/features/schema/schema-aggregator/api-reference/
  license:
    name: GPL-3.0
    url: https://www.gnu.org/licenses/gpl-3.0.html
  x-api-evangelist-provenance:
    method: derived
    source: https://developer.yoast.com/features/schema/schema-aggregator/api-reference/
    note: Route shapes (/wp-json/yoast/v1/schema-aggregator/get-schema/{post_type}[/{page}] and /wp-json/yoast/v1/schema-aggregator/get-xml), the JSON-L response format and the pagination behaviour are quoted from Yoast's own API reference. Response schemas are described only to the level Yoast publishes them.
    fetched: '2026-08-13'
servers:
- url: https://{site}/wp-json
  description: The customer's own WordPress installation. Yoast ships plugin code, not a hosted gateway, so the host is the WordPress site running Yoast SEO.
  variables:
    site:
      default: example.com
      description: Your WordPress site domain
tags:
- name: Schema Aggregator
  description: Aggregated Schema.org output for a WordPress site
paths:
  /yoast/v1/schema-aggregator/get-schema/{post_type}:
    get:
      operationId: getAggregatedSchema
      summary: Get aggregated schema for a post type
      description: Returns the aggregated Schema.org data for every item of the given post type, in JSON-L format. Results are paginated; page size is filterable on the site via the wpseo_schema_aggregator_per_page filter.
      tags:
      - Schema Aggregator
      parameters:
      - $ref: '#/components/parameters/PostType'
      responses:
        '200':
          description: Aggregated Schema.org data in JSON-L
          content:
            application/jsonl:
              schema:
                type: string
                description: Newline-delimited JSON, one Schema.org graph per line
        '404':
          description: No schema available for the requested post type
  /yoast/v1/schema-aggregator/get-schema/{post_type}/{page}:
    get:
      operationId: getAggregatedSchemaPage
      summary: Get one page of aggregated schema for a post type
      description: Returns a single page of the aggregated Schema.org data for the given post type, in JSON-L format.
      tags:
      - Schema Aggregator
      parameters:
      - $ref: '#/components/parameters/PostType'
      - name: page
        in: path
        required: true
        description: 1-based page number
        schema:
          type: integer
          minimum: 1
      responses:
        '200':
          description: One page of aggregated Schema.org data in JSON-L
          content:
            application/jsonl:
              schema:
                type: string
                description: Newline-delimited JSON, one Schema.org graph per line
        '404':
          description: No such page for the requested post type
  /yoast/v1/schema-aggregator/get-xml:
    get:
      operationId: getSchemaMap
      summary: Get the XML schemamap
      description: Returns an XML schemamap listing all available schema endpoints on the site, so a crawler can discover every aggregated-schema page without guessing post types or page numbers.
      tags:
      - Schema Aggregator
      responses:
        '200':
          description: XML schemamap of every available aggregated-schema endpoint
          content:
            application/xml:
              schema:
                type: string
components:
  parameters:
    PostType:
      name: post_type
      in: path
      required: true
      description: The WordPress post type to aggregate schema for (e.g. post, page, product)
      schema:
        type: string
        example: post