Daring Foods oEmbed API

Public oEmbed 1.0 provider endpoint for daring.com URLs, returning embeddable rich metadata - title, author, thumbnail and iframe markup - for any recipe, product or marketing page in a single unauthenticated call. Answers in both JSON and XML.

OpenAPI Specification

daring-foods-oembed-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Daring Foods O Embed API
  version: wp/v2
  summary: oEmbed 1.0 provider endpoint for daring.com URLs.
  description: 'daring.com is a registered oEmbed 1.0 provider: any public daring.com URL - a recipe, a product page, a marketing page - can be resolved to embeddable rich metadata (title, author, thumbnail, and an iframe `html` payload) in a single unauthenticated call. The endpoint is advertised in the site''s HTML head via `application/json+oembed` and `text/xml+oembed` link relations, and it answers in both JSON and XML. This is the lowest-friction way to get a titled, illustrated card for a Daring recipe without touching the content collections. The related /oembed/1.0/proxy route requires authentication (verified HTTP 401 anonymously) and is not documented here.'
  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: oEmbed
  description: oEmbed 1.0 provider endpoint.
paths:
  /oembed/1.0/embed:
    get:
      tags:
      - oEmbed
      operationId: getOEmbed
      summary: Resolve a daring.com URL to oEmbed metadata
      description: Returns oEmbed 1.0 metadata for any public daring.com URL. Verified live against a recipe permalink.
      parameters:
      - name: url
        in: query
        required: true
        description: The daring.com URL to embed, percent-encoded.
        schema:
          type: string
          format: uri
      - name: format
        in: query
        description: Response format. Both values verified live.
        schema:
          type: string
          enum:
          - json
          - xml
          default: json
      - name: maxwidth
        in: query
        description: Maximum width of the embed in pixels.
        schema:
          type: integer
          default: 600
      - name: maxheight
        in: query
        description: Maximum height of the embed in pixels.
        schema:
          type: integer
      responses:
        '200':
          description: oEmbed metadata for the requested URL.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OEmbedResponse'
              example:
                version: '1.0'
                provider_name: Daring Foods Plant Chicken | Chicken Better. Chicken On.
                provider_url: https://daring.com
                author_name: Joe Tao
                author_url: https://daring.com/author/joedaring-com/
                title: Crispy Buffalo Plant Chicken Quesadillas - Daring Foods Plant Chicken | Chicken Better. Chicken On.
                type: rich
                width: 600
                height: 338
                thumbnail_url: https://daring.com/wp-content/uploads/2026/06/Crispy-Buffalo-Plant-Chicken-Quesadillas.jpg
                thumbnail_width: 2400
                thumbnail_height: 4267
            text/xml:
              schema:
                type: string
                description: The same payload as an oEmbed XML document, returned when format=xml.
        '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.'
    OEmbedResponse:
      type: object
      description: An oEmbed 1.0 rich response.
      properties:
        version:
          type: string
          examples:
          - '1.0'
        provider_name:
          type: string
        provider_url:
          type: string
          format: uri
        author_name:
          type: string
        author_url:
          type: string
          format: uri
        title:
          type: string
        type:
          type: string
          examples:
          - rich
        width:
          type: integer
        height:
          type:
          - integer
          - 'null'
        html:
          type: string
          description: Iframe embed markup.
        thumbnail_url:
          type: string
          format: uri
        thumbnail_width:
          type: integer
        thumbnail_height:
          type: integer