Daring Foods SEO Metadata API

Public Yoast SEO head endpoint returning the rendered SEO metadata and full schema.org JSON-LD graph for any daring.com URL - the most structured description of a Daring recipe or product available from this host.

OpenAPI Specification

daring-foods-seo-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Daring Foods Metadata SEO API
  version: wp/v2
  summary: Yoast SEO head metadata and schema.org JSON-LD graph for any daring.com URL.
  description: daring.com runs Yoast SEO, which registers a public `yoast/v1` namespace. The `get_head` operation resolves any public daring.com URL to that page's rendered SEO head - canonical URL, title, meta description, Open Graph and Twitter card properties, and the full schema.org JSON-LD `@graph` Yoast generates for it. For an agent this is the most structured description of a Daring recipe or product available from this host, because it carries schema.org typing that the content collections themselves do not; the same JSON-LD is also inlined on every record returned by the products, recipes, pages and posts collections as `yoast_head_json`. The remaining yoast/v1 routes are administrative and return HTTP 401 anonymously.
  contact:
    name: Daring Foods
    url: https://daring.com/faq/
  license:
    name: Site content - all rights reserved; see Terms & Conditions
    url: https://daring.com/terms-and-conditions/
  x-apis-io-provenance:
    method: derived
    source: https://daring.com/wp-json/
    derived_on: '2026-08-04'
    note: Routes enumerated from the live WordPress route index at https://daring.com/wp-json/ (222 routes across 10 namespaces) on 2026-08-04, then probed anonymously one at a time; only routes verified to return HTTP 200 without credentials are documented here. Schemas reflect fields observed in the live responses. Write methods exist on the same routes but require WordPress authentication (cookie + X-WP-Nonce, or Application Passwords) and return HTTP 401 anonymously, so they are not documented. No fabricated operations, parameters or fields.
servers:
- url: https://daring.com/wp-json
  description: Production
tags:
- name: SEO
  description: Yoast SEO head metadata and JSON-LD.
paths:
  /yoast/v1/get_head:
    get:
      tags:
      - SEO
      operationId: getSeoHead
      summary: Retrieve SEO head metadata for a URL
      description: Returns the Yoast SEO head metadata and schema.org JSON-LD graph for a public daring.com URL. Verified live (HTTP 200) against the site root.
      parameters:
      - name: url
        in: query
        required: true
        description: The daring.com URL to describe, percent-encoded.
        schema:
          type: string
          format: uri
      responses:
        '200':
          description: SEO head metadata for the requested URL.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YoastHead'
        '404':
          description: Object not found, or no route matches the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: rest_post_invalid_id
                message: Invalid post ID.
                data:
                  status: 404
components:
  schemas:
    Error:
      type: object
      description: 'The WordPress REST error envelope. NOTE: this is NOT RFC 9457 problem+json - the media type is application/json and the shape is {code, message, data}.'
      required:
      - code
      - message
      - data
      properties:
        code:
          type: string
          description: Machine-readable WordPress error code, e.g. rest_post_invalid_id, rest_invalid_param, rest_no_route.
          examples:
          - rest_post_invalid_id
        message:
          type: string
          description: Human-readable error message.
          examples:
          - Invalid post ID.
        data:
          type: object
          properties:
            status:
              type: integer
              description: HTTP status code, repeated in the body.
              examples:
              - 404
            params:
              type: object
              additionalProperties:
                type: string
              description: 'Present on rest_invalid_param: per-parameter validation messages.'
            details:
              type: object
              description: 'Present on rest_invalid_param: per-parameter structured detail.'
    YoastHead:
      type: object
      description: Yoast SEO head payload for a URL.
      properties:
        json:
          type: object
          description: 'Structured head metadata: title, description, canonical, robots directives, og_* and twitter_* properties, and `schema` carrying the schema.org @graph.'
        html:
          type: string
          description: The same metadata as rendered <head> markup.