{
  "openapi": "3.1.0",
  "info": {
    "title": "UnifAPI",
    "version": "0.0.1",
    "description": "Unified, AI-friendly API for public-data providers. Single source of truth for the UnifAPI gateway — consumed by docs (Fumadocs), the marketing site, and downstream SDK generators.",
    "contact": {
      "name": "UnifAPI",
      "url": "https://unifapi.com",
      "email": "support@unifapi.com"
    },
    "license": {
      "name": "Proprietary",
      "url": "https://unifapi.com/legal/terms-of-service"
    },
    "x-api-version": "2026-07-01",
    "x-versioning-policy": "https://unifapi.com/versioning.md"
  },
  "servers": [
    {
      "url": "https://api.unifapi.com",
      "description": "Production"
    }
  ],
  "externalDocs": {
    "url": "https://docs.unifapi.com",
    "description": "UnifAPI developer documentation"
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "browser",
      "description": "Headless browser rendering. Render any URL with JavaScript executed and get it back as Markdown, fully rendered HTML, a screenshot, or the page's link graph."
    },
    {
      "name": "events",
      "description": "Live events search. Responses include individual events with title, dates, venue location, ticket links, and a description."
    },
    {
      "name": "geo",
      "description": "geo endpoints"
    },
    {
      "name": "hacker-news",
      "description": "Public-data Hacker News endpoints. Item, user, story-list, max-item, and update resources follow the official Hacker News API shape."
    },
    {
      "name": "hotels",
      "description": "Live hotel search and detail. Responses include ranked hotel listings and full hotel profiles with class rating, guest reviews, images, and nightly prices."
    },
    {
      "name": "instagram",
      "description": "Public-data Instagram endpoints. Path keys use URL-visible slugs (`username` for users, `shortcode` for posts). `media_id` and `user_id` are surfaced on responses so callers can cache the mapping."
    },
    {
      "name": "linkedin",
      "description": "Public-data LinkedIn endpoints. Path keys use LinkedIn URL slugs (`public_identifier` for users, `universal_name` for companies)."
    },
    {
      "name": "local",
      "description": "Live Local Finder search — the expanded local-pack listing. Responses include ranked local places with address, rating, phone, and booking links."
    },
    {
      "name": "maps",
      "description": "Live local business search. Responses include ranked place listings with address, rating, category, phone, coordinates, and place id."
    },
    {
      "name": "news",
      "description": "Live news search. Responses include ranked news articles and top-stories blocks with publisher domain, snippet, image, and publish time."
    },
    {
      "name": "reddit",
      "description": "Public-data Reddit endpoints (APP surface). Path keys use `username` for users, `subreddit_name` for subreddits, and `post_id` (the `t3_*` fullname) for posts."
    },
    {
      "name": "seo",
      "description": "Live SEO optimization evidence endpoints. SERP and AI SERP responses include ranked result elements, target visibility, competitor domains, rich search features, People Also Ask context, AI answer citations, query metadata, and source task status."
    },
    {
      "name": "threads",
      "description": "Public-data Threads endpoints (Web surface). Path keys use `username` for users and `post_id` for posts."
    },
    {
      "name": "tiktok",
      "description": "Public-data TikTok endpoints. All identity-shaped responses use the canonical Video / User / Comment / Music / Hashtag / LiveRoom shapes."
    },
    {
      "name": "x",
      "description": "Public-data Twitter / X endpoints. Public paths follow X-style `/x/...` semantics; use `username` for handle lookups, numeric X user `id` for user sub-resources, and tweet `id` for post lookups."
    },
    {
      "name": "youtube",
      "description": "Public-data YouTube endpoints (Web surface). Path keys use `channel_id` for channels and `video_id` for videos."
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "UnifAPI API key. Provider credentials are managed by UnifAPI."
      }
    },
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "required": [
          "error"
        ],
        "description": "Standard gateway error envelope (ADR 0003 and ADR 0008)."
      },
      "Error": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "validation_error",
              "invalid_id",
              "insufficient_credits",
              "unauthorized",
              "not_found",
              "rate_limited",
              "internal_error",
              "response_shape_error",
              "upstream_error",
              "upstream_unavailable"
            ],
            "description": "Closed vocabulary - see docs/adr/0003-error-model.md."
          },
          "message": {
            "type": "string"
          },
          "request_id": {
            "type": "string",
            "description": "UnifAPI request id, e.g. `unif_<id>`. Source ids are not exposed."
          },
          "issues": {
            "type": "array",
            "items": {},
            "description": "Present only when type=validation_error."
          },
          "billing": {
            "$ref": "#/components/schemas/ErrorBilling"
          }
        },
        "required": [
          "type",
          "message"
        ]
      },
      "ErrorBilling": {
        "type": "object",
        "properties": {
          "credits_required": {
            "type": "integer"
          },
          "credits_charged": {
            "type": "integer",
            "minimum": 0
          },
          "records_charged": {
            "type": "integer",
            "minimum": 0
          },
          "balance_remaining": {
            "type": "integer"
          },
          "truncated_due_to_balance": {
            "type": "boolean"
          }
        },
        "required": [
          "balance_remaining"
        ],
        "description": "Present when the error either exposes recovery metadata or charged usage."
      },
      "BrowserHtmlResult": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The rendered URL."
          },
          "html": {
            "type": "string",
            "description": "The fully rendered HTML after JavaScript execution."
          }
        },
        "required": [
          "url",
          "html"
        ]
      },
      "Billing": {
        "type": "object",
        "properties": {
          "credits_charged": {
            "type": "integer",
            "minimum": 0
          },
          "records_charged": {
            "type": "integer",
            "minimum": 0
          },
          "balance_remaining": {
            "type": "integer",
            "minimum": 0
          },
          "truncated_due_to_balance": {
            "type": "boolean"
          }
        },
        "required": [
          "credits_charged",
          "records_charged",
          "balance_remaining",
          "truncated_due_to_balance"
        ]
      },
      "BrowserHtmlRequest": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "minLength": 1,
            "description": "Absolute http(s) URL of the page to render."
          },
          "wait_until": {
            "type": "string",
            "enum": [
              "load",
              "domcontentloaded",
              "networkidle0",
              "networkidle2"
            ],
            "description": "When navigation is considered complete. `networkidle0` waits for the network to go idle (best for JavaScript-heavy pages); `load` is fastest."
          },
          "timeout_ms": {
            "type": "integer",
            "minimum": 1000,
            "maximum": 60000,
            "description": "Navigation timeout in milliseconds (1000–60000)."
          }
        },
        "required": [
          "url"
        ]
      },
      "BrowserLinksResult": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The rendered URL."
          },
          "links": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Absolute URLs discovered on the page."
          }
        },
        "required": [
          "url",
          "links"
        ]
      },
      "BrowserLinksRequest": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "minLength": 1,
            "description": "Absolute http(s) URL of the page to render."
          },
          "wait_until": {
            "type": "string",
            "enum": [
              "load",
              "domcontentloaded",
              "networkidle0",
              "networkidle2"
            ],
            "description": "When navigation is considered complete. `networkidle0` waits for the network to go idle (best for JavaScript-heavy pages); `load` is fastest."
          },
          "timeout_ms": {
            "type": "integer",
            "minimum": 1000,
            "maximum": 60000,
            "description": "Navigation timeout in milliseconds (1000–60000)."
          },
          "visible_links_only": {
            "type": "boolean",
            "description": "Only return links visible in the rendered viewport."
          },
          "exclude_external_links": {
            "type": "boolean",
            "description": "Drop links that point to a different domain than the page."
          }
        },
        "required": [
          "url"
        ]
      },
      "BrowserMarkdownResult": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The rendered URL."
          },
          "markdown": {
            "type": "string",
            "description": "The page content rendered to Markdown."
          }
        },
        "required": [
          "url",
          "markdown"
        ]
      },
      "BrowserMarkdownRequest": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "minLength": 1,
            "description": "Absolute http(s) URL of the page to render."
          },
          "wait_until": {
            "type": "string",
            "enum": [
              "load",
              "domcontentloaded",
              "networkidle0",
              "networkidle2"
            ],
            "description": "When navigation is considered complete. `networkidle0` waits for the network to go idle (best for JavaScript-heavy pages); `load` is fastest."
          },
          "timeout_ms": {
            "type": "integer",
            "minimum": 1000,
            "maximum": 60000,
            "description": "Navigation timeout in milliseconds (1000–60000)."
          }
        },
        "required": [
          "url"
        ]
      },
      "BrowserScreenshotResult": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The rendered URL."
          },
          "format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg",
              "webp"
            ],
            "description": "Output image format."
          },
          "image_base64": {
            "type": "string",
            "description": "Base64-encoded image bytes."
          },
          "size_bytes": {
            "type": "integer",
            "description": "Decoded image size in bytes."
          }
        },
        "required": [
          "url",
          "format",
          "image_base64",
          "size_bytes"
        ]
      },
      "BrowserScreenshotRequest": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "minLength": 1,
            "description": "Absolute http(s) URL of the page to render."
          },
          "wait_until": {
            "type": "string",
            "enum": [
              "load",
              "domcontentloaded",
              "networkidle0",
              "networkidle2"
            ],
            "description": "When navigation is considered complete. `networkidle0` waits for the network to go idle (best for JavaScript-heavy pages); `load` is fastest."
          },
          "timeout_ms": {
            "type": "integer",
            "minimum": 1000,
            "maximum": 60000,
            "description": "Navigation timeout in milliseconds (1000–60000)."
          },
          "viewport": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 1,
                "maximum": 3840,
                "description": "Viewport width in CSS pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 1,
                "maximum": 3840,
                "description": "Viewport height in CSS pixels."
              }
            },
            "required": [
              "width",
              "height"
            ],
            "description": "Browser viewport. Defaults to a standard desktop size."
          },
          "full_page": {
            "type": "boolean",
            "description": "Capture the full scrollable page instead of just the viewport."
          },
          "format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg",
              "webp"
            ],
            "default": "png",
            "description": "Output image format."
          },
          "quality": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Compression quality (0–100). Only valid for `jpeg` and `webp`."
          },
          "selector": {
            "type": "string",
            "description": "Capture only the first element matching this CSS selector."
          },
          "omit_background": {
            "type": "boolean",
            "description": "Render a transparent background (ignored for `jpeg`)."
          }
        },
        "required": [
          "url"
        ]
      },
      "EventsSearchResponse": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SerpListView"
          },
          "observed_at": {
            "type": "string"
          },
          "search_url": {
            "type": "string"
          },
          "item_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SERP element types present in the result, in source order."
          },
          "total_results": {
            "type": "integer"
          },
          "result_count": {
            "type": "integer",
            "description": "Number of result elements returned."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SerpListElement"
            },
            "description": "Individual events results flattened from the events block. Each event is one billable record; date, venue, and ticket details are carried in extras."
          }
        },
        "required": [
          "query",
          "location",
          "language",
          "view",
          "item_types",
          "result_count",
          "results"
        ]
      },
      "SerpListView": {
        "type": "string",
        "enum": [
          "summary",
          "standard",
          "full"
        ]
      },
      "SerpListElement": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "integer",
            "description": "Absolute rank of the element in the result list."
          },
          "group_rank": {
            "type": "integer"
          },
          "type": {
            "type": "string",
            "description": "SERP element type, such as news_search, maps_search, or local_pack."
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "snippet": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "rating": {
            "description": "Rating block when present, e.g. value, votes count, and rating type."
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "category": {
            "type": "string"
          },
          "is_paid": {
            "type": "boolean",
            "description": "True when the element is an ad."
          },
          "is_billable": {
            "type": "boolean",
            "description": "True for result elements that count toward billing. Ads are free context."
          },
          "nested_items": {
            "type": "array",
            "items": {}
          },
          "extras": {
            "type": "object",
            "additionalProperties": {},
            "description": "Additional element fields preserved in the full view."
          }
        },
        "required": [
          "type",
          "is_billable"
        ]
      },
      "EventsSearchRequest": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700,
            "description": "Search query to inspect."
          },
          "location": {
            "$ref": "#/components/schemas/SerpListLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 700,
            "description": "Number of results to return, matching the limit parameter used across other UnifAPI endpoints. Maps to result depth."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SerpListView"
              },
              {
                "description": "Controls response size. summary keeps lean rank evidence, standard adds descriptive fields, full includes raw extras and nested items. Defaults to standard."
              }
            ]
          },
          "os": {
            "$ref": "#/components/schemas/SerpListOs"
          },
          "date_range": {
            "type": "string",
            "enum": [
              "today",
              "tomorrow",
              "this_week",
              "this_weekend",
              "next_week",
              "this_month",
              "next_month"
            ],
            "description": "Restrict events to a relative date range. Defaults to all upcoming events."
          }
        },
        "required": [
          "query"
        ]
      },
      "SerpListLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
      },
      "SerpListOs": {
        "type": "string",
        "enum": [
          "windows",
          "macos",
          "android",
          "ios"
        ],
        "description": "Optional device operating system."
      },
      "GeoKeywordSearchVolumeResponse": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoKeywordSearchVolumeRecord"
            },
            "description": "One billable record per keyword with AI search volume and monthly trend."
          }
        },
        "required": [
          "location",
          "language",
          "results"
        ]
      },
      "GeoKeywordSearchVolumeRecord": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string"
          },
          "ai_search_volume": {
            "type": "number"
          },
          "monthly_searches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMonthlySearch"
            }
          }
        },
        "required": [
          "keyword"
        ]
      },
      "GeoMonthlySearch": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer"
          },
          "month": {
            "type": "integer"
          },
          "ai_search_volume": {
            "type": "number"
          }
        },
        "required": [
          "year",
          "month"
        ]
      },
      "GeoKeywordSearchVolumeRequest": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 250
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Keywords to look up AI search volume for. Up to 1000 keywords, 250 chars each."
          },
          "location": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 2,
                "maxLength": 120
              },
              {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            ],
            "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          }
        },
        "required": [
          "keywords"
        ]
      },
      "GeoMentionsAggregatedMetricsResponse": {
        "type": "object",
        "properties": {
          "engine": {
            "$ref": "#/components/schemas/GeoEngine"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "totals": {
            "$ref": "#/components/schemas/GeoMentionBreakdown"
          }
        },
        "required": [
          "engine",
          "location",
          "language"
        ]
      },
      "GeoEngine": {
        "type": "string",
        "enum": [
          "chatgpt",
          "google"
        ]
      },
      "GeoMentionBreakdown": {
        "type": "object",
        "properties": {
          "by_platform": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoGroupMetric"
            }
          },
          "by_location": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoGroupMetric"
            }
          },
          "by_language": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoGroupMetric"
            }
          },
          "by_source_domain": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoGroupMetric"
            }
          },
          "by_search_results_domain": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoGroupMetric"
            }
          },
          "by_brand_entity_title": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoGroupMetric"
            }
          },
          "by_brand_entity_category": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoGroupMetric"
            }
          }
        },
        "description": "Mention metrics grouped across platform, location, language, source/search-result domains, and brand entities."
      },
      "GeoGroupMetric": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "description": "The group this row aggregates, e.g. a platform, location, or domain."
          },
          "type": {
            "type": "string",
            "description": "Dimension the value belongs to when DataForSEO labels it, e.g. platform or location."
          },
          "mentions": {
            "type": "number",
            "description": "LLM mentions counted for this group."
          },
          "ai_search_volume": {
            "type": "number",
            "description": "AI search volume attributed to this group."
          }
        },
        "required": [
          "value"
        ]
      },
      "GeoMentionsAggregatedMetricsRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionsTarget"
            },
            "minItems": 1,
            "maxItems": 10,
            "description": "Up to 10 target entities, each a domain or a keyword."
          },
          "engine": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GeoEngine"
              },
              {
                "description": "AI platform to query. `google` covers Google AI Overviews; `chatgpt` covers ChatGPT (United States + English only). Defaults to google."
              }
            ]
          },
          "location": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 2,
                "maxLength": 120
              },
              {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            ],
            "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the raw mentions dataset before it is aggregated. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: ai_search_volume (monthly AI search volume); mentions (number of mentions); platform (LLM engine, e.g. chat_gpt, google); location (location name); language (language name); sources_domain (cited source domain); search_results_domain (domain in the engine's search results); brand_entities_title (brand entity title); brand_entities_category (brand entity category). Example: {\"field\":\"ai_search_volume\",\"op\":\">\",\"value\":1000}"
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "Max elements per internal grouped array (source/search-result domains). Default 10."
          }
        },
        "required": [
          "target"
        ]
      },
      "GeoMentionsTarget": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "maxLength": 63,
            "description": "Target domain (no protocol/www). Provide domain or keyword."
          },
          "keyword": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Target keyword. Provide domain or keyword."
          },
          "filter": {
            "type": "string",
            "enum": [
              "include",
              "exclude"
            ],
            "description": "Whether to include or exclude matches for this entity. Defaults to include."
          },
          "scope": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Where to look. Domain scopes: any, sources, search_results. Keyword scopes: any, question, answer, brand_entities, fan_out_queries."
          },
          "match": {
            "type": "string",
            "enum": [
              "word",
              "partial"
            ],
            "description": "Keyword match type. word = full-term match; partial = substring. Defaults to word."
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include subdomains of the target domain. Defaults to false."
          }
        }
      },
      "DataForSeoFilterCondition": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "minLength": 1,
            "description": "Field to filter on. See the endpoint's list of filterable fields."
          },
          "op": {
            "type": "string",
            "enum": [
              "=",
              "<>",
              "<",
              "<=",
              ">",
              ">=",
              "in",
              "not_in",
              "like",
              "not_like",
              "ilike",
              "not_ilike",
              "match",
              "not_match"
            ],
            "description": "Comparison operator."
          },
          "value": {
            "$ref": "#/components/schemas/DataForSeoFilterValue"
          }
        },
        "required": [
          "field",
          "op",
          "value"
        ],
        "additionalProperties": false
      },
      "DataForSeoFilterValue": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "minItems": 1
          }
        ],
        "description": "Comparison value: a string, number, or boolean for scalar operators, or a non-empty array for \"in\" / \"not_in\"."
      },
      "DataForSeoFilter": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/DataForSeoFilterCondition"
          },
          {
            "type": "object",
            "properties": {
              "and": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DataForSeoFilter"
                },
                "minItems": 2,
                "description": "Sub-expressions that must all match."
              }
            },
            "required": [
              "and"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "or": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DataForSeoFilter"
                },
                "minItems": 2,
                "description": "Sub-expressions where at least one must match."
              }
            },
            "required": [
              "or"
            ],
            "additionalProperties": false
          }
        ]
      },
      "GeoMentionsCrossAggregatedMetricsResponse": {
        "type": "object",
        "properties": {
          "engine": {
            "$ref": "#/components/schemas/GeoEngine"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "totals": {
            "$ref": "#/components/schemas/GeoMentionBreakdown"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionItem"
            },
            "description": "One billable record per labeled group, with its mention breakdown."
          }
        },
        "required": [
          "engine",
          "location",
          "language",
          "results"
        ]
      },
      "GeoMentionItem": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Domain, page URL, or aggregation label this row summarizes."
          },
          "mentions": {
            "type": "number",
            "description": "Total LLM mentions for this row, summed across platforms."
          },
          "breakdown": {
            "$ref": "#/components/schemas/GeoMentionBreakdown"
          }
        },
        "required": [
          "key"
        ]
      },
      "GeoMentionsCrossAggregatedMetricsRequest": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionsCrossGroup"
            },
            "minItems": 1,
            "maxItems": 10,
            "description": "Labeled target groups to compare against each other."
          },
          "engine": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GeoEngine"
              },
              {
                "description": "AI platform to query. `google` covers Google AI Overviews; `chatgpt` covers ChatGPT (United States + English only). Defaults to google."
              }
            ]
          },
          "location": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 2,
                "maxLength": 120
              },
              {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            ],
            "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the raw mentions dataset before it is aggregated. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: ai_search_volume (monthly AI search volume); mentions (number of mentions); platform (LLM engine, e.g. chat_gpt, google); location (location name); language (language name); sources_domain (cited source domain); search_results_domain (domain in the engine's search results); brand_entities_title (brand entity title); brand_entities_category (brand entity category). Example: {\"field\":\"ai_search_volume\",\"op\":\">\",\"value\":1000}"
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Max elements per internal grouped array. Default 5."
          }
        },
        "required": [
          "groups"
        ]
      },
      "GeoMentionsCrossGroup": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 250,
            "description": "Aggregation label that groups and identifies this target set in the response."
          },
          "target": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionsTarget"
            },
            "minItems": 1,
            "maxItems": 10,
            "description": "Up to 10 target entities, each a domain or a keyword."
          }
        },
        "required": [
          "label",
          "target"
        ]
      },
      "GeoMentionsSearchResponse": {
        "type": "object",
        "properties": {
          "engine": {
            "$ref": "#/components/schemas/GeoEngine"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "total_count": {
            "type": "integer",
            "description": "Total mentions matching the request."
          },
          "returned_count": {
            "type": "integer",
            "description": "Mentions returned in results."
          },
          "cursor": {
            "type": "string",
            "description": "search_after_token for the next page, when more remain."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionRecord"
            },
            "description": "One billable record per matched mention."
          }
        },
        "required": [
          "engine",
          "location",
          "language",
          "returned_count",
          "results"
        ]
      },
      "GeoMentionRecord": {
        "type": "object",
        "properties": {
          "engine": {
            "$ref": "#/components/schemas/GeoEngine"
          },
          "model": {
            "type": "string"
          },
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string",
            "description": "Model answer in markdown. Included for standard and full views."
          },
          "ai_search_volume": {
            "type": "number"
          },
          "monthly_searches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionMonthly"
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionSource"
            }
          },
          "search_results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionSearchResult"
            }
          },
          "brand_entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionBrandEntity"
            }
          },
          "fan_out_queries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "first_response_at": {
            "type": "string"
          },
          "last_response_at": {
            "type": "string"
          }
        }
      },
      "GeoMentionMonthly": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer"
          },
          "month": {
            "type": "integer"
          },
          "ai_search_volume": {
            "type": "number"
          }
        },
        "required": [
          "year",
          "month"
        ]
      },
      "GeoMentionSource": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "snippet": {
            "type": "string"
          },
          "source_name": {
            "type": "string"
          },
          "position": {
            "type": "integer"
          },
          "publication_date": {
            "type": "string"
          }
        }
      },
      "GeoMentionSearchResult": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "position": {
            "type": "integer"
          },
          "publication_date": {
            "type": "string"
          }
        }
      },
      "GeoMentionBrandEntity": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "position": {
            "type": "integer"
          }
        }
      },
      "GeoMentionsSearchRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionsTarget"
            },
            "minItems": 1,
            "maxItems": 10,
            "description": "Up to 10 target entities, each a domain or a keyword."
          },
          "engine": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GeoEngine"
              },
              {
                "description": "AI platform to query. `google` covers Google AI Overviews; `chatgpt` covers ChatGPT (United States + English only). Defaults to google."
              }
            ]
          },
          "location": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 2,
                "maxLength": 120
              },
              {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            ],
            "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the matched mentions. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: ai_search_volume (monthly AI search volume); platform (LLM engine, e.g. chat_gpt, google, perplexity); model (model name that produced the answer). Example: {\"and\":[{\"field\":\"ai_search_volume\",\"op\":\">\",\"value\":1000},{\"field\":\"platform\",\"op\":\"=\",\"value\":\"chat_gpt\"}]}"
          },
          "order_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataForSeoOrderByRule"
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "Sort the matched mentions. Each rule is {\"field\",\"dir\"} with dir asc or desc; up to 3 rules, applied in order. Sortable fields: ai_search_volume, platform, model."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Max mentions to return. Default 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9000,
            "description": "Mentions to skip. Use cursor beyond 9000."
          },
          "cursor": {
            "type": "string",
            "description": "search_after_token from a previous response, for deep pagination."
          },
          "view": {
            "$ref": "#/components/schemas/GeoView"
          }
        },
        "required": [
          "target"
        ]
      },
      "DataForSeoOrderByRule": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "minLength": 1,
            "description": "Field to sort by. See the endpoint's list of sortable fields."
          },
          "dir": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "default": "desc",
            "description": "Sort direction: asc or desc. Defaults to desc."
          }
        },
        "required": [
          "field"
        ],
        "additionalProperties": false
      },
      "GeoView": {
        "type": "string",
        "enum": [
          "summary",
          "standard",
          "full"
        ],
        "description": "Response size. full keeps answers, sources, and raw search results; standard drops raw search results; summary keeps only the question, volume, and cited sources. Defaults to standard."
      },
      "GeoMentionsTopDomainsResponse": {
        "type": "object",
        "properties": {
          "engine": {
            "$ref": "#/components/schemas/GeoEngine"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "totals": {
            "$ref": "#/components/schemas/GeoMentionBreakdown"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionItem"
            },
            "description": "Top cited domains, one billable record each, with per-dimension breakdowns."
          }
        },
        "required": [
          "engine",
          "location",
          "language",
          "results"
        ]
      },
      "GeoMentionsTopDomainsRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionsTarget"
            },
            "minItems": 1,
            "maxItems": 10,
            "description": "Up to 10 target entities, each a domain or a keyword."
          },
          "engine": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GeoEngine"
              },
              {
                "description": "AI platform to query. `google` covers Google AI Overviews; `chatgpt` covers ChatGPT (United States + English only). Defaults to google."
              }
            ]
          },
          "location": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 2,
                "maxLength": 120
              },
              {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            ],
            "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "links_scope": {
            "type": "string",
            "enum": [
              "sources",
              "search_results"
            ],
            "description": "Which links to extract domains from. Defaults to sources."
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the raw mentions dataset before it is aggregated. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: ai_search_volume (monthly AI search volume); mentions (number of mentions); platform (LLM engine, e.g. chat_gpt, google); location (location name); language (language name); sources_domain (cited source domain); search_results_domain (domain in the engine's search results); brand_entities_title (brand entity title); brand_entities_category (brand entity category). Example: {\"field\":\"ai_search_volume\",\"op\":\">\",\"value\":1000}"
          },
          "items_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Max number of top domains to return. Default 5."
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Max elements per internal grouped array. Default 5."
          }
        },
        "required": [
          "target"
        ]
      },
      "GeoMentionsTopPagesResponse": {
        "type": "object",
        "properties": {
          "engine": {
            "$ref": "#/components/schemas/GeoEngine"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "totals": {
            "$ref": "#/components/schemas/GeoMentionBreakdown"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionItem"
            },
            "description": "Top cited pages, one billable record each, with per-dimension breakdowns."
          }
        },
        "required": [
          "engine",
          "location",
          "language",
          "results"
        ]
      },
      "GeoMentionsTopPagesRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoMentionsTarget"
            },
            "minItems": 1,
            "maxItems": 10,
            "description": "Up to 10 target entities, each a domain or a keyword."
          },
          "engine": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GeoEngine"
              },
              {
                "description": "AI platform to query. `google` covers Google AI Overviews; `chatgpt` covers ChatGPT (United States + English only). Defaults to google."
              }
            ]
          },
          "location": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 2,
                "maxLength": 120
              },
              {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            ],
            "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "links_scope": {
            "type": "string",
            "enum": [
              "sources",
              "search_results"
            ],
            "description": "Which links to extract pages from. Defaults to sources."
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the raw mentions dataset before it is aggregated. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: ai_search_volume (monthly AI search volume); mentions (number of mentions); platform (LLM engine, e.g. chat_gpt, google); location (location name); language (language name); sources_domain (cited source domain); search_results_domain (domain in the engine's search results); brand_entities_title (brand entity title); brand_entities_category (brand entity category). Example: {\"field\":\"ai_search_volume\",\"op\":\">\",\"value\":1000}"
          },
          "items_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Max number of top pages to return. Default 5."
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Max elements per internal grouped array. Default 5."
          }
        },
        "required": [
          "target"
        ]
      },
      "GeoSerpResponse": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "device": {
            "type": "string",
            "enum": [
              "desktop",
              "mobile"
            ]
          },
          "surface": {
            "type": "string",
            "enum": [
              "google_ai_mode"
            ]
          },
          "view": {
            "$ref": "#/components/schemas/GeoSerpView"
          },
          "observed_at": {
            "type": "string"
          },
          "search_url": {
            "type": "string"
          },
          "total_results": {
            "type": "integer"
          },
          "serp_features": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpResult"
            },
            "description": "AI SERP elements returned in source order. Top-level AI overview records are billable; cited references, links, images, and answer sections are returned as context inside each result."
          },
          "target": {
            "$ref": "#/components/schemas/GeoSerpTarget"
          },
          "competitors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpCompetitor"
            },
            "description": "Domains cited or linked by AI Mode, excluding the optional target domain. Omitted when results are truncated by balance."
          }
        },
        "required": [
          "query",
          "location",
          "language",
          "device",
          "surface",
          "view",
          "serp_features",
          "results"
        ]
      },
      "GeoSerpView": {
        "type": "string",
        "enum": [
          "summary",
          "standard",
          "full"
        ]
      },
      "GeoSerpResult": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "integer"
          },
          "group_rank": {
            "type": "integer"
          },
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "markdown": {
            "type": "string"
          },
          "page": {
            "type": "integer"
          },
          "position": {
            "type": "string"
          },
          "references": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpReference"
            }
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpLink"
            }
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpImage"
            }
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpSection"
            }
          },
          "is_billable": {
            "type": "boolean",
            "description": "True for top-level AI SERP result records that count toward billing."
          },
          "is_target": {
            "type": "boolean"
          },
          "extras": {
            "$ref": "#/components/schemas/GeoSerpExtras"
          }
        },
        "required": [
          "type",
          "is_billable"
        ]
      },
      "GeoSerpReference": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "snippet": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "is_target": {
            "type": "boolean"
          }
        }
      },
      "GeoSerpLink": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "snippet": {
            "type": "string"
          },
          "is_target": {
            "type": "boolean"
          }
        }
      },
      "GeoSerpImage": {
        "type": "object",
        "properties": {
          "alt": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          }
        }
      },
      "GeoSerpSection": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "markdown": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "snippet": {
            "type": "string"
          },
          "references": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpReference"
            }
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpLink"
            }
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpImage"
            }
          },
          "table": {
            "description": "Raw table block (rows/columns) when the AI Mode section embeds a table. Passed through unshaped; full view only."
          },
          "nested_items": {
            "type": "array",
            "items": {}
          },
          "is_target": {
            "type": "boolean"
          },
          "extras": {
            "$ref": "#/components/schemas/GeoSerpExtras"
          }
        },
        "required": [
          "type"
        ]
      },
      "GeoSerpExtras": {
        "type": "object",
        "additionalProperties": {}
      },
      "GeoSerpTarget": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "present": {
            "type": "boolean"
          },
          "best_rank": {
            "type": "integer"
          },
          "matches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpResultRef"
            }
          },
          "citations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoSerpCitation"
            }
          }
        },
        "required": [
          "value",
          "present",
          "matches",
          "citations"
        ]
      },
      "GeoSerpResultRef": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "integer"
          },
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "GeoSerpCitation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GeoSerpReference"
          },
          {
            "type": "object",
            "properties": {
              "result_rank": {
                "type": "integer"
              },
              "result_type": {
                "type": "string"
              },
              "result_title": {
                "type": "string"
              }
            }
          }
        ]
      },
      "GeoSerpCompetitor": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "best_rank": {
            "type": "integer"
          },
          "citation_count": {
            "type": "integer"
          }
        },
        "required": [
          "domain",
          "citation_count"
        ]
      },
      "GeoSerpRequest": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700,
            "description": "Search query to inspect in AI Mode."
          },
          "target": {
            "type": "string",
            "minLength": 1,
            "description": "Optional domain or URL to mark when it appears in AI Mode answers, links, or cited references."
          },
          "location": {
            "$ref": "#/components/schemas/GeoSerpLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "device": {
            "type": "string",
            "enum": [
              "desktop",
              "mobile"
            ],
            "description": "AI SERP device type. Defaults to desktop."
          },
          "include_pixel_rankings": {
            "type": "boolean",
            "description": "When true, request pixel rectangle data for visual AI SERP analysis."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GeoSerpView"
              },
              {
                "description": "Controls response size. Defaults to full, which keeps every answer section, cited reference, link, and image because AI Mode evidence is not billed per record. standard drops raw extras and nested items; summary keeps only the core answer plus citation domains."
              }
            ]
          }
        },
        "required": [
          "query"
        ]
      },
      "GeoSerpLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
      },
      "HackerNewsItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "deleted": {
            "type": "boolean"
          },
          "type": {
            "$ref": "#/components/schemas/HackerNewsItemType"
          },
          "by": {
            "type": "string"
          },
          "time": {
            "type": "integer",
            "description": "Unix epoch seconds"
          },
          "text": {
            "type": "string",
            "description": "HTML text for comments, stories, polls, and jobs."
          },
          "dead": {
            "type": "boolean"
          },
          "parent": {
            "type": "integer"
          },
          "poll": {
            "type": "integer"
          },
          "kids": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "url": {
            "type": "string"
          },
          "score": {
            "type": "integer"
          },
          "title": {
            "type": "string",
            "description": "HTML title for stories, polls, and jobs."
          },
          "parts": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "descendants": {
            "type": "integer"
          }
        },
        "required": [
          "id"
        ],
        "description": "Official Hacker News item. Stories, comments, jobs, polls, and poll options share this shape."
      },
      "HackerNewsItemType": {
        "type": "string",
        "enum": [
          "job",
          "story",
          "comment",
          "poll",
          "pollopt"
        ]
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "has_more",
          "next_cursor"
        ]
      },
      "HackerNewsStoryFeed": {
        "type": "string",
        "enum": [
          "top",
          "new",
          "best",
          "ask",
          "show",
          "jobs"
        ],
        "description": "Story feed: top, new, best, ask, show, or jobs."
      },
      "HackerNewsUpdates": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "profiles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "items",
          "profiles"
        ]
      },
      "HackerNewsUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "created": {
            "type": "integer",
            "description": "Unix epoch seconds"
          },
          "karma": {
            "type": "integer"
          },
          "about": {
            "type": "string",
            "description": "HTML profile text."
          },
          "submitted": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "HotelInfoResponse": {
        "type": "object",
        "properties": {
          "hotel_identifier": {
            "type": "string"
          },
          "location": {
            "type": "string",
            "description": "Search location echoed from the request."
          },
          "language": {
            "type": "string"
          },
          "observed_at": {
            "type": "string"
          },
          "search_url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "stars": {
            "type": "integer",
            "description": "Hotel class rating, 1-5."
          },
          "stars_description": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "about": {
            "$ref": "#/components/schemas/HotelAbout"
          },
          "place": {
            "$ref": "#/components/schemas/HotelPlace"
          },
          "reviews": {
            "$ref": "#/components/schemas/HotelReviews"
          },
          "overview_images": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "prices": {
            "$ref": "#/components/schemas/HotelPrice"
          }
        },
        "required": [
          "hotel_identifier",
          "location",
          "language"
        ]
      },
      "HotelAbout": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Hotel description."
          },
          "full_address": {
            "type": "string",
            "description": "Standardised full address of the hotel."
          },
          "domain": {
            "type": "string",
            "description": "Domain of the hotel's website."
          },
          "url": {
            "type": "string",
            "description": "URL of the hotel's website."
          },
          "check_in_time": {
            "type": "string",
            "description": "Listed check-in time as HH:MM (24-hour)."
          },
          "check_out_time": {
            "type": "string",
            "description": "Listed check-out time as HH:MM (24-hour)."
          },
          "amenities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Available amenity labels offered by the hotel."
          },
          "extras": {
            "$ref": "#/components/schemas/HotelExtras"
          }
        },
        "description": "Hotel description, address, website, and amenities when present."
      },
      "HotelExtras": {
        "type": "object",
        "additionalProperties": {},
        "description": "Additional descriptive detail such as sub-descriptions and amenity categories."
      },
      "HotelPlace": {
        "type": "object",
        "properties": {
          "neighborhood": {
            "type": "string",
            "description": "Neighborhood where the hotel is located."
          },
          "neighborhood_description": {
            "type": "string"
          },
          "maps_url": {
            "type": "string",
            "description": "Google Maps URL for the hotel location."
          },
          "overall_score": {
            "type": "number",
            "description": "Overall location score from 1 to 5."
          },
          "score_by_categories": {
            "type": "object",
            "additionalProperties": {
              "type": "number"
            },
            "description": "Location sub-scores by category, such as transit or things_to_do."
          },
          "latitude": {
            "type": "number",
            "description": "Latitude of the hotel on Google Maps."
          },
          "longitude": {
            "type": "number",
            "description": "Longitude of the hotel on Google Maps."
          },
          "extras": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HotelExtras"
              },
              {
                "description": "Additional location detail such as the location chain."
              }
            ]
          }
        },
        "description": "Hotel location details when present."
      },
      "HotelReviews": {
        "type": "object",
        "properties": {
          "rating": {
            "type": "number",
            "description": "Aggregate guest rating, typically on a 0-5 scale."
          },
          "votes_count": {
            "type": "integer",
            "description": "Number of guest votes behind the rating."
          },
          "rating_distribution": {
            "type": "object",
            "additionalProperties": {
              "type": "number"
            },
            "description": "Vote counts keyed by star rating (\"1\"-\"5\") when present."
          },
          "extras": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HotelExtras"
              },
              {
                "description": "Additional review detail such as criterion mentions and third-party site reviews."
              }
            ]
          }
        },
        "description": "Aggregate guest rating and review breakdown when present."
      },
      "HotelPrice": {
        "type": "object",
        "properties": {
          "price": {
            "type": "number",
            "description": "Nightly price in the response currency."
          },
          "price_without_discount": {
            "type": "number",
            "description": "Full nightly price before any discount, when a discount applies."
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code for the price, such as USD."
          },
          "discount_text": {
            "type": "string",
            "description": "Discount label, such as \"23% less than usual\"."
          },
          "prices_by_dates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HotelPriceByDate"
            },
            "description": "Daily price calendar, populated when /hotels/info requests load_prices_by_dates."
          },
          "extras": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HotelExtras"
              },
              {
                "description": "Additional pricing detail such as per-offer breakdowns and stay metadata."
              }
            ]
          }
        },
        "description": "Stay price or daily price calendar when present."
      },
      "HotelPriceByDate": {
        "type": "object",
        "properties": {
          "price": {
            "type": "number",
            "description": "Nightly price for this date in the response currency."
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code for the price."
          },
          "check_in_date": {
            "type": "string",
            "description": "Check-in date for this calendar entry."
          },
          "check_out_date": {
            "type": "string",
            "description": "Check-out date for this calendar entry."
          }
        }
      },
      "HotelInfoRequest": {
        "type": "object",
        "properties": {
          "hotel_identifier": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400,
            "description": "Unique hotel id returned by /hotels/search."
          },
          "location": {
            "$ref": "#/components/schemas/HotelInfoLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "check_in": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Check-in date. Date in YYYY-MM-DD format."
          },
          "check_out": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Check-out date. Date in YYYY-MM-DD format."
          },
          "currency": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "description": "ISO 4217 currency code for prices, such as USD."
          },
          "adults": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30,
            "description": "Number of adult guests."
          },
          "children": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 17
            },
            "maxItems": 10,
            "description": "Ages of children staying, used to refine availability and pricing."
          },
          "load_prices_by_dates": {
            "type": "boolean",
            "description": "When true, return a daily price calendar across the requested date range instead of a single stay price."
          },
          "prices_start_date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Start date for the daily price calendar. Date in YYYY-MM-DD format."
          },
          "prices_end_date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "End date for the daily price calendar. Date in YYYY-MM-DD format."
          },
          "prices_date_range": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "Predefined period for the daily price calendar, such as next_30_days."
          }
        },
        "required": [
          "hotel_identifier"
        ]
      },
      "HotelInfoLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
      },
      "HotelSearchResponse": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "observed_at": {
            "type": "string"
          },
          "search_url": {
            "type": "string"
          },
          "result_count": {
            "type": "integer",
            "description": "Number of hotels returned."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HotelSearchResult"
            },
            "description": "Hotel listings. Each hotel is one billable record."
          }
        },
        "required": [
          "location",
          "language",
          "result_count",
          "results"
        ]
      },
      "HotelSearchResult": {
        "type": "object",
        "properties": {
          "hotel_identifier": {
            "type": "string",
            "description": "Unique hotel id. Pass it to /hotels/info for full details."
          },
          "title": {
            "type": "string",
            "description": "Hotel or vacation rental name."
          },
          "stars": {
            "type": "integer",
            "description": "Hotel class rating, 1-5."
          },
          "is_paid": {
            "type": "boolean",
            "description": "True for paid hotel listings."
          },
          "location": {
            "$ref": "#/components/schemas/HotelSearchGeo"
          },
          "reviews": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HotelReviews"
              },
              {
                "description": "Aggregate guest rating and review count when present."
              }
            ]
          },
          "prices": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HotelPrice"
              },
              {
                "description": "Nightly price block when present."
              }
            ]
          },
          "overview_images": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Preview image URLs for the hotel when present."
          },
          "is_billable": {
            "type": "boolean",
            "description": "Each hotel listing is one billable record."
          }
        },
        "required": [
          "is_billable"
        ]
      },
      "HotelSearchGeo": {
        "type": "object",
        "properties": {
          "latitude": {
            "type": "number",
            "description": "Latitude of the hotel on Google Maps."
          },
          "longitude": {
            "type": "number",
            "description": "Longitude of the hotel on Google Maps."
          }
        },
        "description": "GPS coordinates of the hotel when present."
      },
      "HotelSearchRequest": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700,
            "description": "Optional hotel name or search query. Combine with location to scope the search."
          },
          "location": {
            "$ref": "#/components/schemas/HotelSearchLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Number of hotels to return. Defaults to 10."
          },
          "check_in": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Check-in date. Date in YYYY-MM-DD format."
          },
          "check_out": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Check-out date. Date in YYYY-MM-DD format."
          },
          "currency": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "description": "ISO 4217 currency code for prices, such as USD."
          },
          "adults": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30,
            "description": "Number of adult guests."
          },
          "children": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 17
            },
            "maxItems": 10,
            "description": "Ages of children staying, used to refine availability and pricing."
          },
          "stars": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5
            },
            "maxItems": 5,
            "description": "Filter to hotels with these class ratings, such as [4, 5]."
          },
          "min_rating": {
            "type": "number",
            "minimum": 0,
            "maximum": 5,
            "description": "Filter to hotels with at least this guest rating."
          },
          "sort_by": {
            "type": "string",
            "enum": [
              "relevance",
              "lowest_price",
              "highest_rating",
              "most_reviewed"
            ],
            "description": "Sort order for results. Defaults to relevance."
          },
          "min_price": {
            "type": "integer",
            "minimum": 0,
            "description": "Minimum price per night."
          },
          "max_price": {
            "type": "integer",
            "minimum": 0,
            "description": "Maximum price per night."
          },
          "free_cancellation": {
            "type": "boolean",
            "description": "When true, only return hotels offering free cancellation."
          },
          "is_vacation_rentals": {
            "type": "boolean",
            "description": "When true, search vacation rentals instead of hotels."
          },
          "amenities": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 60
            },
            "maxItems": 30,
            "description": "Filter to hotels offering these amenities, such as pool or free_wifi."
          }
        }
      },
      "HotelSearchLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
      },
      "InstagramPost": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Instagram URL slug (`shortcode`). Path parameter for /instagram/posts/{id}/... endpoints."
          },
          "shortcode": {
            "type": "string"
          },
          "media_id": {
            "type": "string"
          },
          "media_type": {
            "type": "number",
            "description": "Source media_type: 1 = image, 2 = video, 8 = carousel"
          },
          "product_type": {
            "type": "string",
            "description": "Source product_type: 'feed' (image/photo), 'clips' (reel), 'carousel_container', 'igtv', etc."
          },
          "taken_at": {
            "type": "number",
            "description": "Unix-seconds timestamp."
          },
          "caption": {
            "type": "string"
          },
          "accessibility_caption": {
            "type": [
              "string",
              "null"
            ]
          },
          "image_url": {
            "type": "string",
            "description": "Largest available preview image (cover, for video/carousel)."
          },
          "video_url": {
            "type": "string",
            "description": "Highest-quality video URL when applicable; empty string otherwise."
          },
          "like_count": {
            "type": "number"
          },
          "comment_count": {
            "type": "number"
          },
          "play_count": {
            "type": "number",
            "description": "Video plays. 0 for non-video media."
          },
          "view_count": {
            "type": "number",
            "description": "Reel/video views (separate from plays on IG side). 0 when N/A."
          },
          "is_paid_partnership": {
            "type": "boolean"
          },
          "has_audio": {
            "type": "boolean"
          },
          "carousel_count": {
            "type": "number",
            "description": "Number of carousel items, or 0 if not a carousel."
          },
          "carousel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InstagramCarouselItem"
            },
            "description": "Carousel items when media_type === 8; empty array otherwise."
          },
          "user": {
            "$ref": "#/components/schemas/InstagramUserPreview"
          },
          "location": {
            "$ref": "#/components/schemas/InstagramLocationLite"
          }
        },
        "required": [
          "id",
          "shortcode",
          "media_id",
          "media_type",
          "product_type",
          "taken_at",
          "caption",
          "accessibility_caption",
          "image_url",
          "video_url",
          "like_count",
          "comment_count",
          "play_count",
          "view_count",
          "is_paid_partnership",
          "has_audio",
          "carousel_count",
          "carousel",
          "user",
          "location"
        ]
      },
      "InstagramCarouselItem": {
        "type": "object",
        "properties": {
          "media_type": {
            "type": "number",
            "description": "1 = image, 2 = video"
          },
          "image_url": {
            "type": "string"
          },
          "video_url": {
            "type": "string"
          },
          "accessibility_caption": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "media_type",
          "image_url",
          "video_url",
          "accessibility_caption"
        ]
      },
      "InstagramUserPreview": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "user_id": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_private": {
            "type": "boolean"
          },
          "profile_pic_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "user_id",
          "username",
          "full_name",
          "is_verified",
          "is_private",
          "profile_pic_url"
        ],
        "description": "Lightweight Instagram user shape returned inside lists (followers, post authors, comment authors). Lacks counts; call /users/{id} for the full profile."
      },
      "InstagramLocationLite": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "lat": {
            "type": [
              "number",
              "null"
            ]
          },
          "lng": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "lat",
          "lng"
        ],
        "description": "Compact location reference embedded in posts and nearby lists."
      },
      "InstagramLocation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "lat": {
            "type": [
              "number",
              "null"
            ]
          },
          "lng": {
            "type": [
              "number",
              "null"
            ]
          },
          "city": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "media_count": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "category",
          "lat",
          "lng",
          "city",
          "address",
          "phone",
          "media_count"
        ],
        "description": "Instagram location profile (full). `id` is the numeric source `location_id`."
      },
      "InstagramComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "user": {
            "$ref": "#/components/schemas/InstagramUserPreview"
          },
          "text": {
            "type": "string"
          },
          "created_at": {
            "type": "number"
          },
          "like_count": {
            "type": "number"
          },
          "child_comment_count": {
            "type": "number"
          },
          "has_translation": {
            "type": "boolean"
          },
          "has_liked": {
            "type": "boolean"
          },
          "parent_comment_id": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "user",
          "text",
          "created_at",
          "like_count",
          "child_comment_count",
          "has_translation",
          "has_liked",
          "parent_comment_id"
        ]
      },
      "InstagramFormerUsername": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string"
          },
          "changed_at": {
            "type": "number"
          }
        },
        "required": [
          "username",
          "changed_at"
        ]
      },
      "InstagramHighlight": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Highlight reel id, e.g. `highlight:18223279177302854`."
          },
          "title": {
            "type": "string"
          },
          "cover_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "cover_url"
        ],
        "description": "Instagram highlight reel metadata. Story contents are not surfaced because source's `get_highlight_stories` returned no story payload on probe (2026-05-20)."
      },
      "InstagramUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Instagram URL slug (`username`). Path parameter for every /instagram/users/{id}/... endpoint."
          },
          "user_id": {
            "type": "string",
            "minLength": 1
          },
          "username": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_private": {
            "type": "boolean"
          },
          "profile_pic_url": {
            "type": "string"
          },
          "follower_count": {
            "type": "number"
          },
          "following_count": {
            "type": "number"
          },
          "media_count": {
            "type": "number"
          },
          "fbid_v2": {
            "type": [
              "string",
              "null"
            ],
            "description": "Cross-platform Facebook id, when present."
          }
        },
        "required": [
          "id",
          "user_id",
          "username",
          "full_name",
          "is_verified",
          "is_private",
          "profile_pic_url",
          "follower_count",
          "following_count",
          "media_count",
          "fbid_v2"
        ]
      },
      "LinkedinAd": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "content": {
            "type": "string"
          },
          "ad_url": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "ad_type": {
            "type": "string"
          },
          "paid_for_by": {
            "type": [
              "string",
              "null"
            ]
          },
          "advertiser": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "url"
            ]
          },
          "publisher": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "url"
            ]
          }
        },
        "required": [
          "id",
          "content",
          "ad_url",
          "image_url",
          "ad_type",
          "paid_for_by",
          "advertiser",
          "publisher"
        ]
      },
      "LinkedinAffiliatedPage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "universal_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "linkedin_url": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "speciality": {
            "type": [
              "string",
              "null"
            ]
          },
          "follower_count": {
            "type": "integer"
          },
          "logo_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "universal_name",
          "linkedin_url",
          "type",
          "speciality",
          "follower_count",
          "logo_url"
        ]
      },
      "LinkedinJobCount": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer"
          }
        },
        "required": [
          "total"
        ]
      },
      "LinkedinJobListing": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string"
          },
          "job_url": {
            "type": "string"
          },
          "listed_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_promoted": {
            "type": "boolean"
          },
          "is_easy_apply": {
            "type": "boolean"
          },
          "location": {
            "type": "string"
          },
          "company": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LinkedinCompanyRef"
              },
              {
                "type": "object",
                "properties": {
                  "is_verified": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "is_verified"
                ]
              }
            ],
            "description": "Compact reference to a company, embedded in jobs and experience records."
          }
        },
        "required": [
          "id",
          "title",
          "job_url",
          "listed_at",
          "is_promoted",
          "is_easy_apply",
          "location",
          "company"
        ],
        "description": "Compact job record used in /companies/{id}/jobs and /search/jobs."
      },
      "LinkedinCompanyRef": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "url",
          "logo_url"
        ],
        "description": "Compact reference to a company, embedded in jobs and experience records."
      },
      "LinkedinMemberInsight": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "insights": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "count": {
                  "type": "integer"
                }
              },
              "required": [
                "name",
                "count"
              ]
            }
          }
        },
        "required": [
          "title",
          "insights"
        ],
        "description": "Aggregated employee insight returned by /companies/{id}/member-insights. Each insight is one row of a stat table (e.g. \"Locations\" → [{name: 'Redmond, WA', count: 12345}])."
      },
      "LinkedinUserPreview": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "urn": {
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "type": [
              "string",
              "null"
            ]
          },
          "display_name": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_premium": {
            "type": "boolean"
          },
          "is_top_voice": {
            "type": "boolean"
          },
          "is_open_to_work": {
            "type": "boolean"
          },
          "is_hiring": {
            "type": "boolean"
          },
          "follower_count": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Present in company employee listings, null in plain search results."
          }
        },
        "required": [
          "id",
          "urn",
          "username",
          "display_name",
          "headline",
          "location",
          "avatar_url",
          "url",
          "is_verified",
          "is_premium",
          "is_top_voice",
          "is_open_to_work",
          "is_hiring",
          "follower_count"
        ],
        "description": "Compact user record used in search results and listing endpoints. `id` is the URL slug when known; otherwise the numeric LinkedIn user id."
      },
      "LinkedinPost": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "share_urn": {
            "type": "string"
          },
          "post_type": {
            "type": "string",
            "description": "ugc | activity | share | ..."
          },
          "text": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "create_time": {
            "type": "integer",
            "description": "Unix epoch seconds"
          },
          "created_at": {
            "type": "string",
            "description": "Original ISO timestamp"
          },
          "like_count": {
            "type": "integer"
          },
          "comment_count": {
            "type": "integer"
          },
          "share_count": {
            "type": "integer"
          },
          "reactions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "count": {
                  "type": "integer"
                }
              },
              "required": [
                "type",
                "count"
              ]
            }
          },
          "author": {
            "$ref": "#/components/schemas/LinkedinPostAuthor"
          },
          "content": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {},
            "description": "Pass-through LinkedIn post body block (images, video, document, article, celebration, poll, event). LinkedIn's structure for each is complex and evolving — kept as-is rather than reshaped."
          }
        },
        "required": [
          "id",
          "share_urn",
          "post_type",
          "text",
          "url",
          "create_time",
          "created_at",
          "like_count",
          "comment_count",
          "share_count",
          "reactions",
          "author",
          "content"
        ]
      },
      "LinkedinPostAuthor": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "urn": {
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "type": [
              "string",
              "null"
            ]
          },
          "display_name": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          },
          "account_type": {
            "type": "string"
          },
          "follower_count": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "urn",
          "username",
          "display_name",
          "headline",
          "url",
          "avatar_url",
          "account_type",
          "follower_count"
        ],
        "description": "Heterogeneous post author — may be a person or a company. `username` is non-null only for people."
      },
      "LinkedinCompany": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "URL slug (LinkedIn's `universal_name`). Use this for every /linkedin/companies/{id}/... endpoint."
          },
          "company_id": {
            "type": "string",
            "minLength": 1,
            "description": "Numeric LinkedIn-internal id. Exposed because LinkedIn pages and ad-library URLs reference it; not needed for any /linkedin/* call."
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "website_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "linkedin_url": {
            "type": "string"
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_active": {
            "type": "boolean"
          },
          "follower_count": {
            "type": "integer"
          },
          "employee_count": {
            "type": "integer"
          },
          "employee_count_range": {
            "$ref": "#/components/schemas/LinkedinEmployeeCountRange"
          },
          "industries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "specialities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "headquarters": {
            "$ref": "#/components/schemas/LinkedinHeadquarters"
          },
          "logo_url": {
            "type": "string"
          },
          "cover_image_url": {
            "type": "string"
          },
          "hashtags": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "follower_count": {
                  "type": "integer"
                }
              },
              "required": [
                "name",
                "follower_count"
              ]
            }
          }
        },
        "required": [
          "id",
          "company_id",
          "name",
          "description",
          "website_url",
          "linkedin_url",
          "is_verified",
          "is_active",
          "follower_count",
          "employee_count",
          "employee_count_range",
          "industries",
          "specialities",
          "headquarters",
          "logo_url",
          "cover_image_url",
          "hashtags"
        ]
      },
      "LinkedinEmployeeCountRange": {
        "type": "object",
        "properties": {
          "start": {
            "type": [
              "integer",
              "null"
            ]
          },
          "end": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "start",
          "end"
        ]
      },
      "LinkedinHeadquarters": {
        "type": "object",
        "properties": {
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line": {
            "type": [
              "string",
              "null"
            ]
          },
          "postal_code": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "country",
          "city",
          "state",
          "address_line",
          "postal_code"
        ]
      },
      "LinkedinGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "rules": {
            "type": "string"
          },
          "member_count": {
            "type": "integer"
          },
          "is_public": {
            "type": "boolean"
          },
          "cover_image_url": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "rules",
          "member_count",
          "is_public",
          "cover_image_url",
          "logo_url"
        ]
      },
      "LinkedinJob": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "job_url": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "location_geocode": {
            "type": [
              "string",
              "null"
            ]
          },
          "country_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "level": {
            "type": [
              "string",
              "null"
            ]
          },
          "employment_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_new": {
            "type": "boolean"
          },
          "view_count": {
            "type": "integer"
          },
          "apply_count": {
            "type": "integer"
          },
          "salary": {
            "$ref": "#/components/schemas/LinkedinJobSalary"
          },
          "is_remote_allowed": {
            "type": "boolean"
          },
          "listed_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "original_listed_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "expire_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "industries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "job_functions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "benefits": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "workplace_types": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "company": {
            "$ref": "#/components/schemas/LinkedinJobCompany"
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "job_url",
          "location",
          "location_geocode",
          "country_code",
          "state",
          "level",
          "employment_type",
          "is_new",
          "view_count",
          "apply_count",
          "salary",
          "is_remote_allowed",
          "listed_at",
          "original_listed_at",
          "expire_at",
          "industries",
          "job_functions",
          "benefits",
          "workplace_types",
          "company"
        ]
      },
      "LinkedinJobSalary": {
        "type": "object",
        "properties": {
          "min": {
            "type": [
              "string",
              "null"
            ]
          },
          "max": {
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "pay_period": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_present": {
            "type": "boolean"
          }
        },
        "required": [
          "min",
          "max",
          "currency",
          "pay_period",
          "is_present"
        ]
      },
      "LinkedinJobCompany": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "universal_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "follower_count": {
            "type": "integer"
          },
          "staff_count": {
            "type": "integer"
          },
          "industries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "logo_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "universal_name",
          "url",
          "description",
          "follower_count",
          "staff_count",
          "industries",
          "logo_url"
        ]
      },
      "LinkedinComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "urn": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "create_time": {
            "type": "integer"
          },
          "created_at": {
            "type": "string"
          },
          "like_count": {
            "type": "integer"
          },
          "reply_count": {
            "type": "integer"
          },
          "is_pinned": {
            "type": "boolean"
          },
          "is_edited": {
            "type": "boolean"
          },
          "is_author": {
            "type": "boolean"
          },
          "has_previous_replies": {
            "type": "boolean"
          },
          "previous_replies_token": {
            "type": [
              "string",
              "null"
            ]
          },
          "reactions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "count": {
                  "type": "integer"
                }
              },
              "required": [
                "type",
                "count"
              ]
            }
          },
          "commenter": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "display_name": {
                "type": "string"
              },
              "headline": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "avatar_url": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "display_name",
              "headline",
              "url",
              "avatar_url"
            ]
          }
        },
        "required": [
          "id",
          "urn",
          "text",
          "create_time",
          "created_at",
          "like_count",
          "reply_count",
          "is_pinned",
          "is_edited",
          "is_author",
          "has_previous_replies",
          "previous_replies_token",
          "reactions",
          "commenter"
        ]
      },
      "LinkedinAdListing": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "advertiser": {
            "type": "string"
          },
          "content_preview": {
            "type": "string"
          },
          "ad_url": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "advertiser",
          "content_preview",
          "ad_url",
          "image_url"
        ]
      },
      "LinkedinSearchIndustry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "LinkedinSearchLocation": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "geocode": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "geocode"
        ]
      },
      "LinkedinSearchPost": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "create_time": {
            "type": "integer"
          },
          "created_at": {
            "type": "string"
          },
          "like_count": {
            "type": "integer"
          },
          "comment_count": {
            "type": "integer"
          },
          "share_count": {
            "type": "integer"
          },
          "author": {
            "type": "object",
            "properties": {
              "display_name": {
                "type": "string"
              },
              "headline": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "display_name",
              "headline",
              "url"
            ]
          }
        },
        "required": [
          "id",
          "url",
          "title",
          "create_time",
          "created_at",
          "like_count",
          "comment_count",
          "share_count",
          "author"
        ]
      },
      "LinkedinSchool": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string"
          },
          "universal_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": "string"
          },
          "student_count_display": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "universal_name",
          "location",
          "student_count_display",
          "url",
          "logo_url"
        ]
      },
      "LinkedinAbout": {
        "type": "object",
        "properties": {
          "joined": {
            "type": [
              "string",
              "null"
            ]
          },
          "contact_information": {
            "type": [
              "string",
              "null"
            ]
          },
          "profile_photo": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "joined",
          "contact_information",
          "profile_photo"
        ],
        "description": "Free-form recency strings displayed on a LinkedIn profile (\"joined May 2013\", \"updated less than 3 months ago\"). Source gives no machine-readable form."
      },
      "LinkedinCertification": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "issued_by": {
            "type": [
              "string",
              "null"
            ]
          },
          "issued_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "credential_url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "title",
          "issued_by",
          "issued_at",
          "credential_url"
        ]
      },
      "LinkedinUserComment": {
        "type": "object",
        "properties": {
          "urn": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "create_time": {
            "type": "integer"
          },
          "created_at": {
            "type": "string"
          },
          "like_count": {
            "type": "integer"
          },
          "reply_count": {
            "type": "integer"
          },
          "is_edited": {
            "type": "boolean"
          },
          "post": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LinkedinPost"
              },
              {
                "type": [
                  "object",
                  "null"
                ]
              }
            ]
          }
        },
        "required": [
          "urn",
          "text",
          "create_time",
          "created_at",
          "like_count",
          "reply_count",
          "is_edited",
          "post"
        ],
        "description": "A comment authored by the target user on someone else's post. Returned by /users/{id}/comments."
      },
      "LinkedinContactInfo": {
        "type": "object",
        "properties": {
          "urn": {
            "type": "string"
          },
          "public_identifier": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "websites": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "phone_numbers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "twitter": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "address": {
            "type": [
              "string",
              "null"
            ]
          },
          "wechat": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "urn",
          "public_identifier",
          "first_name",
          "last_name",
          "websites",
          "phone_numbers",
          "twitter",
          "address",
          "wechat"
        ]
      },
      "LinkedinEducation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "school": {
            "type": "string"
          },
          "degree": {
            "type": [
              "string",
              "null"
            ]
          },
          "grade": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "$ref": "#/components/schemas/LinkedinDateRange"
          }
        },
        "required": [
          "id",
          "school",
          "degree",
          "grade",
          "date"
        ]
      },
      "LinkedinDateRange": {
        "type": "object",
        "properties": {
          "start": {
            "type": [
              "string",
              "null"
            ]
          },
          "end": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "start",
          "end"
        ]
      },
      "LinkedinExperience": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "employment_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "$ref": "#/components/schemas/LinkedinDateRange"
          },
          "company": {
            "$ref": "#/components/schemas/LinkedinCompanyRef"
          }
        },
        "required": [
          "title",
          "description",
          "location",
          "employment_type",
          "date",
          "company"
        ]
      },
      "LinkedinFollowerStats": {
        "type": "object",
        "properties": {
          "follower_count": {
            "type": "integer"
          },
          "connection_count": {
            "type": "integer"
          }
        },
        "required": [
          "follower_count",
          "connection_count"
        ]
      },
      "LinkedinHonor": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "issued_by": {
            "type": [
              "string",
              "null"
            ]
          },
          "issued_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "associated_with": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "title",
          "issued_by",
          "issued_at",
          "associated_with"
        ]
      },
      "LinkedinUserImage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "created_at": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "url",
          "image_urls",
          "created_at"
        ]
      },
      "LinkedinInterestCompany": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "follower_count": {
            "type": "integer"
          },
          "url": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "follower_count",
          "url",
          "logo_url"
        ]
      },
      "LinkedinInterestGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "url",
          "logo_url"
        ]
      },
      "LinkedinPublication": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "publication": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": "string"
          },
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "publication_url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "title",
          "publication",
          "description",
          "date",
          "publication_url"
        ]
      },
      "LinkedinUserReaction": {
        "type": "object",
        "properties": {
          "reaction_type": {
            "type": "string"
          },
          "post": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LinkedinPost"
              },
              {
                "type": [
                  "object",
                  "null"
                ]
              }
            ]
          }
        },
        "required": [
          "reaction_type",
          "post"
        ]
      },
      "LinkedinRecommendation": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          },
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "relationship": {
            "type": [
              "string",
              "null"
            ]
          },
          "recommender": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "urn": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "display_name": {
                "type": "string"
              },
              "headline": {
                "type": "string"
              },
              "avatar_url": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "is_premium": {
                "type": "boolean"
              }
            },
            "required": [
              "urn",
              "username",
              "display_name",
              "headline",
              "avatar_url",
              "url",
              "is_premium"
            ]
          }
        },
        "required": [
          "text",
          "date",
          "relationship",
          "recommender"
        ]
      },
      "LinkedinUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "LinkedIn URL slug (public_identifier). Use this as the path parameter for every /linkedin/users/{id}/... endpoint."
          },
          "urn": {
            "type": "string",
            "minLength": 1,
            "description": "LinkedIn internal URN (e.g. `ACoAA...`). Stable across username changes; required by certain LinkedIn-internal flows."
          },
          "username": {
            "type": "string",
            "description": "Same value as `id`; included for cross-platform field parity."
          },
          "display_name": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          },
          "cover_image_url": {
            "type": "string"
          },
          "location": {
            "$ref": "#/components/schemas/LinkedinLocation"
          },
          "is_premium": {
            "type": "boolean"
          },
          "is_open_to_work": {
            "type": "boolean"
          },
          "is_hiring": {
            "type": "boolean"
          },
          "is_creator": {
            "type": "boolean"
          },
          "is_influencer": {
            "type": "boolean"
          },
          "is_top_voice": {
            "type": "boolean"
          },
          "is_memorialized": {
            "type": "boolean"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "website_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "associated_hashtags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "urn",
          "username",
          "display_name",
          "first_name",
          "last_name",
          "headline",
          "avatar_url",
          "cover_image_url",
          "location",
          "is_premium",
          "is_open_to_work",
          "is_hiring",
          "is_creator",
          "is_influencer",
          "is_top_voice",
          "is_memorialized",
          "created_at",
          "website_url",
          "associated_hashtags"
        ],
        "description": "Canonical LinkedIn user profile. `id` is the URL slug (`public_identifier`); `urn` is the LinkedIn internal opaque id required to call URN-keyed sub-resources source — gateway hides that detail behind `/linkedin/users/{id}/*` (see ADR 0006)."
      },
      "LinkedinLocation": {
        "type": "object",
        "properties": {
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "country_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "postal_code": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "country",
          "country_code",
          "city",
          "postal_code"
        ]
      },
      "LinkedinSkill": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "LinkedinUserVideo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "duration": {
            "type": "string"
          },
          "like_count": {
            "type": "integer"
          },
          "comment_count": {
            "type": "integer"
          },
          "thumbnail_url": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "url",
          "duration",
          "like_count",
          "comment_count",
          "thumbnail_url",
          "created_at"
        ]
      },
      "LinkedinVolunteer": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "cause": {
            "type": [
              "string",
              "null"
            ]
          },
          "organization": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "$ref": "#/components/schemas/LinkedinDateRange"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "cause",
          "organization",
          "date",
          "description"
        ]
      },
      "LocalFinderResponse": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SerpListView"
          },
          "observed_at": {
            "type": "string"
          },
          "search_url": {
            "type": "string"
          },
          "item_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SERP element types present in the result, in source order."
          },
          "total_results": {
            "type": "integer"
          },
          "result_count": {
            "type": "integer",
            "description": "Number of result elements returned."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SerpListElement"
            },
            "description": "Local Finder places — the expanded local-pack listing. Each place is billable; ads are free context. Phone, rating, and booking details are surfaced when present."
          }
        },
        "required": [
          "query",
          "location",
          "language",
          "view",
          "item_types",
          "result_count",
          "results"
        ]
      },
      "LocalFinderRequest": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700,
            "description": "Search query to inspect."
          },
          "location": {
            "$ref": "#/components/schemas/SerpListLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 700,
            "description": "Number of results to return, matching the limit parameter used across other UnifAPI endpoints. Maps to result depth."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SerpListView"
              },
              {
                "description": "Controls response size. summary keeps lean rank evidence, standard adds descriptive fields, full includes raw extras and nested items. Defaults to standard."
              }
            ]
          },
          "device": {
            "$ref": "#/components/schemas/SerpListDevice"
          },
          "os": {
            "$ref": "#/components/schemas/SerpListOs"
          },
          "min_rating": {
            "type": "number",
            "minimum": 0,
            "maximum": 5,
            "description": "Filter results to places with at least this average rating."
          },
          "time_filter": {
            "type": "string",
            "enum": [
              "any",
              "open_now"
            ],
            "description": "Filter results by open hours. open_now keeps only places open at request time."
          }
        },
        "required": [
          "query"
        ]
      },
      "SerpListDevice": {
        "type": "string",
        "enum": [
          "desktop",
          "mobile"
        ],
        "description": "SERP device type. Defaults to desktop."
      },
      "MapsSearchResponse": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SerpListView"
          },
          "observed_at": {
            "type": "string"
          },
          "search_url": {
            "type": "string"
          },
          "item_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SERP element types present in the result, in source order."
          },
          "total_results": {
            "type": "integer"
          },
          "result_count": {
            "type": "integer",
            "description": "Number of result elements returned."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SerpListElement"
            },
            "description": "Local business listings. Each place is billable; ads are free context. Address, rating, coordinates, and category fields are surfaced when present."
          }
        },
        "required": [
          "query",
          "location",
          "language",
          "view",
          "item_types",
          "result_count",
          "results"
        ]
      },
      "MapsSearchRequest": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700,
            "description": "Search query to inspect."
          },
          "location": {
            "$ref": "#/components/schemas/SerpListLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 700,
            "description": "Number of results to return, matching the limit parameter used across other UnifAPI endpoints. Maps to result depth."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SerpListView"
              },
              {
                "description": "Controls response size. summary keeps lean rank evidence, standard adds descriptive fields, full includes raw extras and nested items. Defaults to standard."
              }
            ]
          },
          "device": {
            "$ref": "#/components/schemas/SerpListDevice"
          },
          "os": {
            "$ref": "#/components/schemas/SerpListOs"
          },
          "search_this_area": {
            "type": "boolean",
            "description": "When true, return results from the displayed map area rather than the broader location."
          },
          "search_places": {
            "type": "boolean",
            "description": "When true, use search-places mode to return listings the way the mobile app surfaces them."
          }
        },
        "required": [
          "query"
        ]
      },
      "NewsSearchResponse": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SerpListView"
          },
          "observed_at": {
            "type": "string"
          },
          "search_url": {
            "type": "string"
          },
          "item_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SERP element types present in the result, in source order."
          },
          "total_results": {
            "type": "integer"
          },
          "result_count": {
            "type": "integer",
            "description": "Number of result elements returned."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SerpListElement"
            },
            "description": "News SERP elements in source order. News articles and top-stories blocks are billable; ads are free context."
          }
        },
        "required": [
          "query",
          "location",
          "language",
          "view",
          "item_types",
          "result_count",
          "results"
        ]
      },
      "NewsSearchRequest": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700,
            "description": "Search query to inspect."
          },
          "location": {
            "$ref": "#/components/schemas/SerpListLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 700,
            "description": "Number of results to return, matching the limit parameter used across other UnifAPI endpoints. Maps to result depth."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SerpListView"
              },
              {
                "description": "Controls response size. summary keeps lean rank evidence, standard adds descriptive fields, full includes raw extras and nested items. Defaults to standard."
              }
            ]
          },
          "os": {
            "$ref": "#/components/schemas/SerpListOs"
          }
        },
        "required": [
          "query"
        ]
      },
      "RedditPost": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Reddit post id (`t3_*` fullname)."
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "Permalink (or the linked URL for link posts)."
          },
          "text": {
            "type": "string",
            "description": "Markdown body for self/text posts; empty otherwise."
          },
          "domain": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "description": "Source ISO timestamp."
          },
          "is_nsfw": {
            "type": "boolean"
          },
          "is_spoiler": {
            "type": "boolean"
          },
          "is_locked": {
            "type": "boolean"
          },
          "is_stickied": {
            "type": "boolean"
          },
          "subreddit": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "prefixed_name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "prefixed_name"
            ]
          }
        },
        "required": [
          "id",
          "title",
          "url",
          "text",
          "domain",
          "created_at",
          "is_nsfw",
          "is_spoiler",
          "is_locked",
          "is_stickied",
          "subreddit"
        ]
      },
      "RedditComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Comment id (`t1_*` fullname)."
          },
          "text": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "score": {
            "type": "number"
          },
          "author_name": {
            "type": "string"
          },
          "is_locked": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "text",
          "created_at",
          "score",
          "author_name",
          "is_locked"
        ]
      },
      "RedditSubreddit": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Subreddit slug (URL form without `r/`)."
          },
          "subreddit_t5_id": {
            "type": "string",
            "description": "Reddit internal subreddit id (`t5_*` fullname)."
          },
          "name": {
            "type": "string"
          },
          "prefixed_name": {
            "type": "string",
            "description": "Display form like `r/pics`."
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "subscribers_count": {
            "type": "number"
          },
          "active_count": {
            "type": "number"
          },
          "is_nsfw": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "subreddit_t5_id",
          "name",
          "prefixed_name",
          "title",
          "description",
          "subscribers_count",
          "active_count",
          "is_nsfw"
        ]
      },
      "RedditTrendingSearch": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          }
        },
        "required": [
          "query"
        ]
      },
      "RedditUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Reddit username (URL slug)."
          },
          "user_t2_id": {
            "type": "string",
            "description": "Reddit internal user id (`t2_*` fullname)."
          },
          "name": {
            "type": "string"
          },
          "prefixed_name": {
            "type": "string",
            "description": "Display form like `u/spez`."
          },
          "karma_total": {
            "type": "number"
          },
          "karma_from_posts": {
            "type": "number"
          },
          "karma_from_comments": {
            "type": "number"
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_employee": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "user_t2_id",
          "name",
          "prefixed_name",
          "karma_total",
          "karma_from_posts",
          "karma_from_comments",
          "is_verified",
          "is_employee"
        ]
      },
      "SeoBacklinksAnchorsResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of anchor texts available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksAnchorItem"
            },
            "description": "Anchor texts used in backlinks to the target, with backlink counters. Each anchor is one billable record."
          }
        },
        "required": [
          "target",
          "view",
          "results"
        ]
      },
      "SeoBacklinksView": {
        "type": "string",
        "enum": [
          "summary",
          "full"
        ]
      },
      "SeoBacklinksAnchorItem": {
        "type": "object",
        "properties": {
          "anchor": {
            "type": "string",
            "description": "Anchor text used in backlinks pointing to the target."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the target, similar to PageRank (0-1000 by default)."
          },
          "backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to the target."
          },
          "backlinks_spam_score": {
            "type": "integer",
            "description": "Average spam score of the referring pages, 0-100."
          },
          "first_seen": {
            "type": "string",
            "description": "Date DataForSEO first found a backlink for the target."
          },
          "lost_date": {
            "type": "string",
            "description": "Date the last backlink was lost, if the target currently has none."
          },
          "broken_backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to broken (4xx/5xx) pages of the target."
          },
          "broken_pages": {
            "type": "integer",
            "description": "Number of broken target pages that still receive backlinks."
          },
          "referring_domains": {
            "type": "integer",
            "description": "Number of referring domains pointing to the target."
          },
          "referring_main_domains": {
            "type": "integer",
            "description": "Number of referring root domains pointing to the target."
          },
          "referring_pages": {
            "type": "integer",
            "description": "Number of referring pages pointing to the target."
          },
          "referring_ips": {
            "type": "integer",
            "description": "Number of referring IP addresses pointing to the target."
          },
          "referring_subnets": {
            "type": "integer",
            "description": "Number of referring subnets pointing to the target."
          },
          "referring_domains_nofollow": {
            "type": "integer",
            "description": "Referring domains linking only with nofollow backlinks (full view)."
          },
          "referring_main_domains_nofollow": {
            "type": "integer",
            "description": "Referring root domains linking only with nofollow backlinks (full view)."
          },
          "referring_pages_nofollow": {
            "type": "integer",
            "description": "Referring pages linking only with nofollow backlinks (full view)."
          },
          "referring_links_tld": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by top-level domain of the referring page (full view)."
          },
          "referring_links_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link type, e.g. anchor, image, redirect (full view)."
          },
          "referring_links_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link attribute, e.g. nofollow, sponsored, ugc (full view)."
          },
          "referring_links_platform_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by platform type, e.g. cms, blogs, ecommerce (full view)."
          },
          "referring_links_semantic_locations": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by semantic location on the page, e.g. article, footer (full view)."
          },
          "referring_links_countries": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by country of the referring page (full view)."
          }
        },
        "required": [
          "anchor"
        ]
      },
      "SeoBacklinksAnchorsRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "backlinks_status_type": {
            "$ref": "#/components/schemas/SeoBacklinksStatusType"
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "include_indirect_links": {
            "type": "boolean",
            "description": "Include indirect links (via redirects or canonicals) to the target. Defaults to true."
          },
          "exclude_internal_backlinks": {
            "type": "boolean",
            "description": "Exclude internal backlinks from the target's own subdomains. Defaults to true."
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of entries kept in each referring_links_* breakdown map. Defaults to 10."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the returned anchor rows. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: anchor (anchor text); rank (backlink rank, 0-1000); backlinks (number of backlinks); backlinks_spam_score (average spam score, 0-100); referring_domains (referring domains count); referring_main_domains (referring root domains count); referring_pages (referring pages count); referring_ips (referring IPs count); referring_subnets (referring subnets count); broken_backlinks (backlinks to broken pages); broken_pages (broken pages still receiving backlinks); first_seen (ISO date the first backlink was found); lost_date (ISO date the last backlink was lost). Example: {\"and\":[{\"field\":\"backlinks\",\"op\":\">\",\"value\":50},{\"field\":\"rank\",\"op\":\">\",\"value\":100}]}"
          },
          "backlinks_filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the underlying individual backlinks before the aggregate metrics are computed. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: dofollow (boolean, link is dofollow); is_new (boolean, appeared since the last check); is_lost (boolean, lost since the last check); is_broken (boolean, points to a broken page); rank (referring page rank, 0-1000); page_from_rank (referring page rank, 0-1000); domain_from_rank (referring domain rank, 0-1000); backlink_spam_score (spam score of the referring page, 0-100); item_type (anchor, image, link, redirect, or canonical); anchor (anchor text); tld_from (top-level domain of the referring page); semantic_location (link location, e.g. article, footer); first_seen (ISO date the backlink was first seen); last_seen (ISO date the backlink was last seen). Example: {\"and\":[{\"field\":\"dofollow\",\"op\":\"=\",\"value\":true},{\"field\":\"backlink_spam_score\",\"op\":\"<\",\"value\":10}]}"
          },
          "order_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataForSeoOrderByRule"
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "Sort the returned anchors. Each rule is {\"field\",\"dir\"} with dir asc or desc; up to 3 rules, applied in order. Sortable fields: anchor, rank, backlinks, backlinks_spam_score, referring_domains, referring_main_domains, referring_pages, referring_ips, referring_subnets, broken_backlinks, broken_pages, first_seen, lost_date."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of records to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls metric depth. summary keeps the headline counters; full adds nofollow variants and the referring_links_* breakdown maps. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksStatusType": {
        "type": "string",
        "enum": [
          "live",
          "all",
          "lost"
        ],
        "description": "Which backlinks to count: live (found on the last check, default), all, or lost."
      },
      "SeoBacklinksRankScale": {
        "type": "string",
        "enum": [
          "one_hundred",
          "one_thousand"
        ],
        "description": "Scale for rank values: one_thousand (0-1000, default) or one_hundred (0-100)."
      },
      "SeoBacklinksBulkBacklinksResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksBulkBacklinkItem"
            },
            "description": "Backlink count for each requested target. Each target is one billable record."
          }
        },
        "required": [
          "results"
        ]
      },
      "SeoBacklinksBulkBacklinkItem": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Domain, subdomain, or page echoed from the request."
          },
          "backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to the target."
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksBulkBacklinksRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Domains, subdomains, or pages to analyze (up to 1000). Domains/subdomains without https:// and www.; pages as absolute URLs."
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoBacklinksBulkNewLostBacklinksResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksBulkNewLostBacklinksItem"
            },
            "description": "New and lost backlink counts for each requested target. Each target is one billable record."
          }
        },
        "required": [
          "results"
        ]
      },
      "SeoBacklinksBulkNewLostBacklinksItem": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Domain, subdomain, or page echoed from the request."
          },
          "new_backlinks": {
            "type": "integer",
            "description": "Number of new backlinks gained since date_from."
          },
          "lost_backlinks": {
            "type": "integer",
            "description": "Number of backlinks lost since date_from."
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksBulkNewLostBacklinksRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Domains, subdomains, or pages to analyze (up to 1000). Domains/subdomains without https:// and www.; pages as absolute URLs."
          },
          "date_from": {
            "type": "string",
            "description": "Start date (yyyy-mm-dd) for counting new and lost backlinks. Minimum 2019-01-30; defaults to one month ago."
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoBacklinksBulkNewLostReferringDomainsResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksBulkNewLostReferringDomainsItem"
            },
            "description": "New and lost referring domain counts for each requested target. Each target is one billable record."
          }
        },
        "required": [
          "results"
        ]
      },
      "SeoBacklinksBulkNewLostReferringDomainsItem": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Domain, subdomain, or page echoed from the request."
          },
          "new_referring_domains": {
            "type": "integer",
            "description": "Referring domains gained since date_from."
          },
          "lost_referring_domains": {
            "type": "integer",
            "description": "Referring domains lost since date_from."
          },
          "new_referring_main_domains": {
            "type": "integer",
            "description": "Referring root domains gained since date_from."
          },
          "lost_referring_main_domains": {
            "type": "integer",
            "description": "Referring root domains lost since date_from."
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksBulkNewLostReferringDomainsRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Domains, subdomains, or pages to analyze (up to 1000). Domains/subdomains without https:// and www.; pages as absolute URLs."
          },
          "date_from": {
            "type": "string",
            "description": "Start date (yyyy-mm-dd) for counting new and lost referring domains. Minimum 2019-01-30; defaults to one month ago."
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoBacklinksBulkPagesSummaryResponse": {
        "type": "object",
        "properties": {
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksBulkPageSummaryItem"
            },
            "description": "Backlink summary for each requested page, domain, or subdomain. Each target is one billable record."
          }
        },
        "required": [
          "view",
          "results"
        ]
      },
      "SeoBacklinksBulkPageSummaryItem": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Page, domain, or subdomain echoed from the request."
          },
          "main_domain_rank": {
            "type": "integer",
            "description": "Backlink rank of the page's root domain."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the target, similar to PageRank (0-1000 by default)."
          },
          "backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to the target."
          },
          "backlinks_spam_score": {
            "type": "integer",
            "description": "Average spam score of the referring pages, 0-100."
          },
          "first_seen": {
            "type": "string",
            "description": "Date DataForSEO first found a backlink for the target."
          },
          "lost_date": {
            "type": "string",
            "description": "Date the last backlink was lost, if the target currently has none."
          },
          "broken_backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to broken (4xx/5xx) pages of the target."
          },
          "broken_pages": {
            "type": "integer",
            "description": "Number of broken target pages that still receive backlinks."
          },
          "referring_domains": {
            "type": "integer",
            "description": "Number of referring domains pointing to the target."
          },
          "referring_main_domains": {
            "type": "integer",
            "description": "Number of referring root domains pointing to the target."
          },
          "referring_pages": {
            "type": "integer",
            "description": "Number of referring pages pointing to the target."
          },
          "referring_ips": {
            "type": "integer",
            "description": "Number of referring IP addresses pointing to the target."
          },
          "referring_subnets": {
            "type": "integer",
            "description": "Number of referring subnets pointing to the target."
          },
          "referring_domains_nofollow": {
            "type": "integer",
            "description": "Referring domains linking only with nofollow backlinks (full view)."
          },
          "referring_main_domains_nofollow": {
            "type": "integer",
            "description": "Referring root domains linking only with nofollow backlinks (full view)."
          },
          "referring_pages_nofollow": {
            "type": "integer",
            "description": "Referring pages linking only with nofollow backlinks (full view)."
          },
          "referring_links_tld": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by top-level domain of the referring page (full view)."
          },
          "referring_links_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link type, e.g. anchor, image, redirect (full view)."
          },
          "referring_links_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link attribute, e.g. nofollow, sponsored, ugc (full view)."
          },
          "referring_links_platform_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by platform type, e.g. cms, blogs, ecommerce (full view)."
          },
          "referring_links_semantic_locations": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by semantic location on the page, e.g. article, footer (full view)."
          },
          "referring_links_countries": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by country of the referring page (full view)."
          }
        },
        "required": [
          "url"
        ]
      },
      "SeoBacklinksBulkPagesSummaryRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Domains, subdomains, or pages to analyze (up to 1000). Domains/subdomains without https:// and www.; pages as absolute URLs."
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls metric depth. summary keeps the headline counters; full adds nofollow variants and the referring_links_* breakdown maps. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoBacklinksBulkRanksResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksBulkRankItem"
            },
            "description": "Backlink rank for each requested target. Each target is one billable record."
          }
        },
        "required": [
          "results"
        ]
      },
      "SeoBacklinksBulkRankItem": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Domain, subdomain, or page echoed from the request."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the target (0-1000 by default), similar to PageRank."
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksBulkRanksRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Domains, subdomains, or pages to analyze (up to 1000). Domains/subdomains without https:// and www.; pages as absolute URLs."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoBacklinksBulkReferringDomainsResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksBulkReferringDomainsItem"
            },
            "description": "Referring domain counts for each requested target. Each target is one billable record."
          }
        },
        "required": [
          "results"
        ]
      },
      "SeoBacklinksBulkReferringDomainsItem": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Domain, subdomain, or page echoed from the request."
          },
          "referring_domains": {
            "type": "integer",
            "description": "Number of referring domains pointing to the target."
          },
          "referring_domains_nofollow": {
            "type": "integer",
            "description": "Referring domains linking only with nofollow backlinks."
          },
          "referring_main_domains": {
            "type": "integer",
            "description": "Number of referring root domains pointing to the target."
          },
          "referring_main_domains_nofollow": {
            "type": "integer",
            "description": "Referring root domains linking only with nofollow backlinks."
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksBulkReferringDomainsRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Domains, subdomains, or pages to analyze (up to 1000). Domains/subdomains without https:// and www.; pages as absolute URLs."
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoBacklinksBulkSpamScoreResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksBulkSpamScoreItem"
            },
            "description": "Spam score for each requested target. Each target is one billable record."
          }
        },
        "required": [
          "results"
        ]
      },
      "SeoBacklinksBulkSpamScoreItem": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Domain, subdomain, or page echoed from the request."
          },
          "spam_score": {
            "type": "integer",
            "description": "Spam score of the target, 0-100."
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksBulkSpamScoreRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Domains, subdomains, or pages to analyze (up to 1000). Domains/subdomains without https:// and www.; pages as absolute URLs."
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoBacklinksCompetitorsResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of competitors available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksCompetitorItem"
            },
            "description": "Domains that share referring domains with the target, by shared-domain count. Each competitor is one billable record."
          }
        },
        "required": [
          "target",
          "results"
        ]
      },
      "SeoBacklinksCompetitorItem": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Competing domain that shares part of the target's backlink profile."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the competing domain (0-1000 by default)."
          },
          "intersections": {
            "type": "integer",
            "description": "Number of referring domains the competitor shares with the target."
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksCompetitorsRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "main_domain": {
            "type": "boolean",
            "description": "Treat the target and competitors as root domains rather than exact subdomains."
          },
          "exclude_large_domains": {
            "type": "boolean",
            "description": "Exclude very large generic domains (e.g. youtube.com, facebook.com) from results."
          },
          "exclude_internal_backlinks": {
            "type": "boolean",
            "description": "Exclude internal backlinks from the target's own subdomains. Defaults to true."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the returned competitors. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: rank (backlink rank of the competing domain, 0-1000); intersections (referring domains shared with the target). Example: {\"field\":\"intersections\",\"op\":\">\",\"value\":20}"
          },
          "order_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataForSeoOrderByRule"
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "Sort the returned competitors. Each rule is {\"field\",\"dir\"} with dir asc or desc; up to 3 rules, applied in order. Sortable fields: rank, intersections."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of records to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip from the start of the results."
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksDomainIntersectionResponse": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The requested targets, in request order, echoed back. Each referring_to entry's target matches one of these."
          },
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of intersecting domains available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksDomainIntersectionItem"
            },
            "description": "Domains that link to the requested targets, with per-target backlink metrics. Each domain is one billable record."
          }
        },
        "required": [
          "targets",
          "view",
          "results"
        ]
      },
      "SeoBacklinksDomainIntersectionItem": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Referring domain that links to the requested targets."
          },
          "intersections_count": {
            "type": "integer",
            "description": "Number of the requested targets this domain links to."
          },
          "referring_to": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksDomainIntersectionTargetMetrics"
            },
            "description": "Per-target backlink metrics, one entry per requested target this domain links to."
          }
        },
        "required": [
          "domain"
        ]
      },
      "SeoBacklinksDomainIntersectionTargetMetrics": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "The requested target these metrics describe."
          },
          "metrics": {
            "type": "object",
            "properties": {
              "rank": {
                "type": "integer",
                "description": "Backlink rank of the target, similar to PageRank (0-1000 by default)."
              },
              "backlinks": {
                "type": "integer",
                "description": "Number of backlinks pointing to the target."
              },
              "backlinks_spam_score": {
                "type": "integer",
                "description": "Average spam score of the referring pages, 0-100."
              },
              "first_seen": {
                "type": "string",
                "description": "Date DataForSEO first found a backlink for the target."
              },
              "lost_date": {
                "type": "string",
                "description": "Date the last backlink was lost, if the target currently has none."
              },
              "broken_backlinks": {
                "type": "integer",
                "description": "Number of backlinks pointing to broken (4xx/5xx) pages of the target."
              },
              "broken_pages": {
                "type": "integer",
                "description": "Number of broken target pages that still receive backlinks."
              },
              "referring_domains": {
                "type": "integer",
                "description": "Number of referring domains pointing to the target."
              },
              "referring_main_domains": {
                "type": "integer",
                "description": "Number of referring root domains pointing to the target."
              },
              "referring_pages": {
                "type": "integer",
                "description": "Number of referring pages pointing to the target."
              },
              "referring_ips": {
                "type": "integer",
                "description": "Number of referring IP addresses pointing to the target."
              },
              "referring_subnets": {
                "type": "integer",
                "description": "Number of referring subnets pointing to the target."
              },
              "referring_domains_nofollow": {
                "type": "integer",
                "description": "Referring domains linking only with nofollow backlinks (full view)."
              },
              "referring_main_domains_nofollow": {
                "type": "integer",
                "description": "Referring root domains linking only with nofollow backlinks (full view)."
              },
              "referring_pages_nofollow": {
                "type": "integer",
                "description": "Referring pages linking only with nofollow backlinks (full view)."
              },
              "referring_links_tld": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer"
                },
                "description": "Referring links grouped by top-level domain of the referring page (full view)."
              },
              "referring_links_types": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer"
                },
                "description": "Referring links grouped by link type, e.g. anchor, image, redirect (full view)."
              },
              "referring_links_attributes": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer"
                },
                "description": "Referring links grouped by link attribute, e.g. nofollow, sponsored, ugc (full view)."
              },
              "referring_links_platform_types": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer"
                },
                "description": "Referring links grouped by platform type, e.g. cms, blogs, ecommerce (full view)."
              },
              "referring_links_semantic_locations": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer"
                },
                "description": "Referring links grouped by semantic location on the page, e.g. article, footer (full view)."
              },
              "referring_links_countries": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer"
                },
                "description": "Referring links grouped by country of the referring page (full view)."
              }
            }
          }
        },
        "required": [
          "target",
          "metrics"
        ]
      },
      "SeoBacklinksDomainIntersectionRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 20,
            "description": "Domains, subdomains, or pages to find common referring domains for (1-20). Order is preserved as the 1-based index in the response."
          },
          "exclude_targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "maxItems": 10,
            "description": "Domains, subdomains, or pages to exclude (up to 10). Domains linking to these are dropped."
          },
          "intersection_mode": {
            "type": "string",
            "enum": [
              "all",
              "partial"
            ],
            "description": "all (default) returns domains linking to any target; partial returns only domains linking to every target."
          },
          "backlinks_status_type": {
            "$ref": "#/components/schemas/SeoBacklinksStatusType"
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "include_indirect_links": {
            "type": "boolean",
            "description": "Include indirect links (via redirects or canonicals) to the target. Defaults to true."
          },
          "exclude_internal_backlinks": {
            "type": "boolean",
            "description": "Exclude internal backlinks from the target's own subdomains. Defaults to true."
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of entries kept in each referring_links_* breakdown map. Defaults to 10."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the intersecting domains. Prefix each metric field with the 1-based target index, e.g. 1.rank, 2.referring_domains. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: rank (backlink rank, 0-1000); backlinks (number of backlinks); backlinks_spam_score (average spam score, 0-100); referring_domains (referring domains count); referring_main_domains (referring root domains count); referring_pages (referring pages count); referring_ips (referring IPs count); referring_subnets (referring subnets count); broken_backlinks (backlinks to broken pages); broken_pages (broken pages still receiving backlinks); first_seen (ISO date the first backlink was found); lost_date (ISO date the last backlink was lost). Example: {\"and\":[{\"field\":\"1.rank\",\"op\":\">\",\"value\":300},{\"field\":\"2.rank\",\"op\":\">\",\"value\":300}]}"
          },
          "backlinks_filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the underlying individual backlinks before the aggregate metrics are computed. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: dofollow (boolean, link is dofollow); is_new (boolean, appeared since the last check); is_lost (boolean, lost since the last check); is_broken (boolean, points to a broken page); rank (referring page rank, 0-1000); page_from_rank (referring page rank, 0-1000); domain_from_rank (referring domain rank, 0-1000); backlink_spam_score (spam score of the referring page, 0-100); item_type (anchor, image, link, redirect, or canonical); anchor (anchor text); tld_from (top-level domain of the referring page); semantic_location (link location, e.g. article, footer); first_seen (ISO date the backlink was first seen); last_seen (ISO date the backlink was last seen). Example: {\"and\":[{\"field\":\"dofollow\",\"op\":\"=\",\"value\":true},{\"field\":\"backlink_spam_score\",\"op\":\"<\",\"value\":10}]}"
          },
          "order_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataForSeoOrderByRule"
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "Sort the intersecting domains. Prefix each field with the 1-based target index, e.g. 1.rank. Each rule is {\"field\",\"dir\"} with dir asc or desc; up to 3 rules, applied in order. Sortable fields: rank, backlinks, backlinks_spam_score, referring_domains, referring_main_domains, referring_pages, referring_ips, referring_subnets, broken_backlinks, broken_pages, first_seen, lost_date."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of records to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls metric depth. summary keeps the headline counters; full adds nofollow variants and the referring_links_* breakdown maps. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoBacklinksDomainPagesSummaryResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of pages available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksDomainPageSummaryItem"
            },
            "description": "Per-page backlink summaries for the target, with backlink counters. Each page is one billable record."
          }
        },
        "required": [
          "target",
          "view",
          "results"
        ]
      },
      "SeoBacklinksDomainPageSummaryItem": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Page URL on the target with its own backlink summary."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the target, similar to PageRank (0-1000 by default)."
          },
          "backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to the target."
          },
          "backlinks_spam_score": {
            "type": "integer",
            "description": "Average spam score of the referring pages, 0-100."
          },
          "first_seen": {
            "type": "string",
            "description": "Date DataForSEO first found a backlink for the target."
          },
          "lost_date": {
            "type": "string",
            "description": "Date the last backlink was lost, if the target currently has none."
          },
          "broken_backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to broken (4xx/5xx) pages of the target."
          },
          "broken_pages": {
            "type": "integer",
            "description": "Number of broken target pages that still receive backlinks."
          },
          "referring_domains": {
            "type": "integer",
            "description": "Number of referring domains pointing to the target."
          },
          "referring_main_domains": {
            "type": "integer",
            "description": "Number of referring root domains pointing to the target."
          },
          "referring_pages": {
            "type": "integer",
            "description": "Number of referring pages pointing to the target."
          },
          "referring_ips": {
            "type": "integer",
            "description": "Number of referring IP addresses pointing to the target."
          },
          "referring_subnets": {
            "type": "integer",
            "description": "Number of referring subnets pointing to the target."
          },
          "referring_domains_nofollow": {
            "type": "integer",
            "description": "Referring domains linking only with nofollow backlinks (full view)."
          },
          "referring_main_domains_nofollow": {
            "type": "integer",
            "description": "Referring root domains linking only with nofollow backlinks (full view)."
          },
          "referring_pages_nofollow": {
            "type": "integer",
            "description": "Referring pages linking only with nofollow backlinks (full view)."
          },
          "referring_links_tld": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by top-level domain of the referring page (full view)."
          },
          "referring_links_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link type, e.g. anchor, image, redirect (full view)."
          },
          "referring_links_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link attribute, e.g. nofollow, sponsored, ugc (full view)."
          },
          "referring_links_platform_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by platform type, e.g. cms, blogs, ecommerce (full view)."
          },
          "referring_links_semantic_locations": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by semantic location on the page, e.g. article, footer (full view)."
          },
          "referring_links_countries": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by country of the referring page (full view)."
          }
        },
        "required": [
          "url"
        ]
      },
      "SeoBacklinksDomainPagesSummaryRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "backlinks_status_type": {
            "$ref": "#/components/schemas/SeoBacklinksStatusType"
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "include_indirect_links": {
            "type": "boolean",
            "description": "Include indirect links (via redirects or canonicals) to the target. Defaults to true."
          },
          "exclude_internal_backlinks": {
            "type": "boolean",
            "description": "Exclude internal backlinks from the target's own subdomains. Defaults to true."
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of entries kept in each referring_links_* breakdown map. Defaults to 10."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the returned page summaries. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: url (page URL on the target); rank (backlink rank, 0-1000); backlinks (number of backlinks); backlinks_spam_score (average spam score, 0-100); referring_domains (referring domains count); referring_main_domains (referring root domains count); referring_pages (referring pages count); referring_ips (referring IPs count); referring_subnets (referring subnets count); broken_backlinks (backlinks to broken pages); broken_pages (broken pages still receiving backlinks); first_seen (ISO date the first backlink was found); lost_date (ISO date the last backlink was lost). Example: {\"field\":\"referring_domains\",\"op\":\">\",\"value\":5}"
          },
          "backlinks_filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the underlying individual backlinks before the aggregate metrics are computed. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: dofollow (boolean, link is dofollow); is_new (boolean, appeared since the last check); is_lost (boolean, lost since the last check); is_broken (boolean, points to a broken page); rank (referring page rank, 0-1000); page_from_rank (referring page rank, 0-1000); domain_from_rank (referring domain rank, 0-1000); backlink_spam_score (spam score of the referring page, 0-100); item_type (anchor, image, link, redirect, or canonical); anchor (anchor text); tld_from (top-level domain of the referring page); semantic_location (link location, e.g. article, footer); first_seen (ISO date the backlink was first seen); last_seen (ISO date the backlink was last seen). Example: {\"and\":[{\"field\":\"dofollow\",\"op\":\"=\",\"value\":true},{\"field\":\"backlink_spam_score\",\"op\":\"<\",\"value\":10}]}"
          },
          "order_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataForSeoOrderByRule"
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "Sort the returned page summaries. Each rule is {\"field\",\"dir\"} with dir asc or desc; up to 3 rules, applied in order. Sortable fields: url, rank, backlinks, backlinks_spam_score, referring_domains, referring_main_domains, referring_pages, referring_ips, referring_subnets, broken_backlinks, broken_pages, first_seen, lost_date."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of records to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls metric depth. summary keeps the headline counters; full adds nofollow variants and the referring_links_* breakdown maps. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksDomainPagesResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of pages available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksDomainPageItem"
            },
            "description": "Target pages ranked by backlink volume, with crawl data and backlink counters. Each page is one billable record."
          }
        },
        "required": [
          "target",
          "view",
          "results"
        ]
      },
      "SeoBacklinksDomainPageItem": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Page URL on the target that receives backlinks."
          },
          "domain": {
            "type": "string",
            "description": "Domain that hosts the page."
          },
          "ip": {
            "type": "string",
            "description": "IP address the page is served from."
          },
          "status_code": {
            "type": "integer",
            "description": "Last HTTP status code seen for the page."
          },
          "first_visited": {
            "type": "string",
            "description": "Date DataForSEO first crawled the page."
          },
          "fetch_time": {
            "type": "string",
            "description": "Date the page was last crawled."
          },
          "size": {
            "type": "integer",
            "description": "Page size in bytes."
          },
          "media_type": {
            "type": "string",
            "description": "Media type of the page, e.g. text/html."
          },
          "title": {
            "type": "string",
            "description": "Title of the page, if available."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the target, similar to PageRank (0-1000 by default)."
          },
          "backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to the target."
          },
          "backlinks_spam_score": {
            "type": "integer",
            "description": "Average spam score of the referring pages, 0-100."
          },
          "first_seen": {
            "type": "string",
            "description": "Date DataForSEO first found a backlink for the target."
          },
          "lost_date": {
            "type": "string",
            "description": "Date the last backlink was lost, if the target currently has none."
          },
          "broken_backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to broken (4xx/5xx) pages of the target."
          },
          "broken_pages": {
            "type": "integer",
            "description": "Number of broken target pages that still receive backlinks."
          },
          "referring_domains": {
            "type": "integer",
            "description": "Number of referring domains pointing to the target."
          },
          "referring_main_domains": {
            "type": "integer",
            "description": "Number of referring root domains pointing to the target."
          },
          "referring_pages": {
            "type": "integer",
            "description": "Number of referring pages pointing to the target."
          },
          "referring_ips": {
            "type": "integer",
            "description": "Number of referring IP addresses pointing to the target."
          },
          "referring_subnets": {
            "type": "integer",
            "description": "Number of referring subnets pointing to the target."
          },
          "referring_domains_nofollow": {
            "type": "integer",
            "description": "Referring domains linking only with nofollow backlinks (full view)."
          },
          "referring_main_domains_nofollow": {
            "type": "integer",
            "description": "Referring root domains linking only with nofollow backlinks (full view)."
          },
          "referring_pages_nofollow": {
            "type": "integer",
            "description": "Referring pages linking only with nofollow backlinks (full view)."
          },
          "referring_links_tld": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by top-level domain of the referring page (full view)."
          },
          "referring_links_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link type, e.g. anchor, image, redirect (full view)."
          },
          "referring_links_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link attribute, e.g. nofollow, sponsored, ugc (full view)."
          },
          "referring_links_platform_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by platform type, e.g. cms, blogs, ecommerce (full view)."
          },
          "referring_links_semantic_locations": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by semantic location on the page, e.g. article, footer (full view)."
          },
          "referring_links_countries": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by country of the referring page (full view)."
          }
        },
        "required": [
          "url"
        ]
      },
      "SeoBacklinksDomainPagesRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "backlinks_status_type": {
            "$ref": "#/components/schemas/SeoBacklinksStatusType"
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "exclude_internal_backlinks": {
            "type": "boolean",
            "description": "Exclude internal backlinks from the target's own subdomains. Defaults to true."
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of entries kept in each referring_links_* breakdown map. Defaults to 10."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the returned target pages. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: url (page URL on the target); status_code (last HTTP status code of the page); size (page size in bytes); media_type (media type, e.g. text/html); first_visited (ISO date first crawled); fetch_time (ISO date last crawled); rank (backlink rank, 0-1000); backlinks (number of backlinks); backlinks_spam_score (average spam score, 0-100); referring_domains (referring domains count); referring_main_domains (referring root domains count); referring_pages (referring pages count); referring_ips (referring IPs count); referring_subnets (referring subnets count); broken_backlinks (backlinks to broken pages); broken_pages (broken pages still receiving backlinks); first_seen (ISO date the first backlink was found); lost_date (ISO date the last backlink was lost). Example: {\"and\":[{\"field\":\"referring_domains\",\"op\":\">\",\"value\":5},{\"field\":\"status_code\",\"op\":\"=\",\"value\":200}]}"
          },
          "backlinks_filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the underlying individual backlinks before the aggregate metrics are computed. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: dofollow (boolean, link is dofollow); is_new (boolean, appeared since the last check); is_lost (boolean, lost since the last check); is_broken (boolean, points to a broken page); rank (referring page rank, 0-1000); page_from_rank (referring page rank, 0-1000); domain_from_rank (referring domain rank, 0-1000); backlink_spam_score (spam score of the referring page, 0-100); item_type (anchor, image, link, redirect, or canonical); anchor (anchor text); tld_from (top-level domain of the referring page); semantic_location (link location, e.g. article, footer); first_seen (ISO date the backlink was first seen); last_seen (ISO date the backlink was last seen). Example: {\"and\":[{\"field\":\"dofollow\",\"op\":\"=\",\"value\":true},{\"field\":\"backlink_spam_score\",\"op\":\"<\",\"value\":10}]}"
          },
          "order_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataForSeoOrderByRule"
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "Sort the returned target pages. Each rule is {\"field\",\"dir\"} with dir asc or desc; up to 3 rules, applied in order. Sortable fields: url, status_code, size, media_type, first_visited, fetch_time, rank, backlinks, backlinks_spam_score, referring_domains, referring_main_domains, referring_pages, referring_ips, referring_subnets, broken_backlinks, broken_pages, first_seen, lost_date."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of records to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls metric depth. summary keeps the headline counters; full adds nofollow variants and the referring_links_* breakdown maps. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksHistoryResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "date_from": {
            "type": "string",
            "description": "Start date of the history echoed from the request."
          },
          "date_to": {
            "type": "string",
            "description": "End date of the history echoed from the request."
          },
          "series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksHistoryItem"
            },
            "description": "Monthly snapshots of the target's backlink profile, oldest to newest."
          }
        },
        "required": [
          "target",
          "view",
          "series"
        ]
      },
      "SeoBacklinksHistoryItem": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Date of this monthly snapshot."
          },
          "new_backlinks": {
            "type": "integer",
            "description": "Backlinks gained during the period."
          },
          "lost_backlinks": {
            "type": "integer",
            "description": "Backlinks lost during the period."
          },
          "new_referring_domains": {
            "type": "integer",
            "description": "Referring domains gained during the period."
          },
          "lost_referring_domains": {
            "type": "integer",
            "description": "Referring domains lost during the period."
          },
          "crawled_pages": {
            "type": "integer",
            "description": "Target pages crawled as of this snapshot."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the target, similar to PageRank (0-1000 by default)."
          },
          "backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to the target."
          },
          "backlinks_spam_score": {
            "type": "integer",
            "description": "Average spam score of the referring pages, 0-100."
          },
          "first_seen": {
            "type": "string",
            "description": "Date DataForSEO first found a backlink for the target."
          },
          "lost_date": {
            "type": "string",
            "description": "Date the last backlink was lost, if the target currently has none."
          },
          "broken_backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to broken (4xx/5xx) pages of the target."
          },
          "broken_pages": {
            "type": "integer",
            "description": "Number of broken target pages that still receive backlinks."
          },
          "referring_domains": {
            "type": "integer",
            "description": "Number of referring domains pointing to the target."
          },
          "referring_main_domains": {
            "type": "integer",
            "description": "Number of referring root domains pointing to the target."
          },
          "referring_pages": {
            "type": "integer",
            "description": "Number of referring pages pointing to the target."
          },
          "referring_ips": {
            "type": "integer",
            "description": "Number of referring IP addresses pointing to the target."
          },
          "referring_subnets": {
            "type": "integer",
            "description": "Number of referring subnets pointing to the target."
          },
          "referring_domains_nofollow": {
            "type": "integer",
            "description": "Referring domains linking only with nofollow backlinks (full view)."
          },
          "referring_main_domains_nofollow": {
            "type": "integer",
            "description": "Referring root domains linking only with nofollow backlinks (full view)."
          },
          "referring_pages_nofollow": {
            "type": "integer",
            "description": "Referring pages linking only with nofollow backlinks (full view)."
          },
          "referring_links_tld": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by top-level domain of the referring page (full view)."
          },
          "referring_links_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link type, e.g. anchor, image, redirect (full view)."
          },
          "referring_links_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link attribute, e.g. nofollow, sponsored, ugc (full view)."
          },
          "referring_links_platform_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by platform type, e.g. cms, blogs, ecommerce (full view)."
          },
          "referring_links_semantic_locations": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by semantic location on the page, e.g. article, footer (full view)."
          },
          "referring_links_countries": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by country of the referring page (full view)."
          }
        },
        "required": [
          "date"
        ]
      },
      "SeoBacklinksHistoryRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "date_from": {
            "type": "string",
            "description": "Start date (yyyy-mm-dd) for the history. Minimum 2019-01-30; defaults to one year ago."
          },
          "date_to": {
            "type": "string",
            "description": "End date (yyyy-mm-dd). Defaults to today."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls metric depth. summary keeps the headline counters; full adds nofollow variants and the referring_links_* breakdown maps. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksListResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "mode": {
            "type": "string",
            "description": "Result grouping applied to the backlinks."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of backlinks available in DataForSEO's database."
          },
          "search_after_token": {
            "type": "string",
            "description": "Token to pass as search_after_token to fetch the next page of backlinks."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinkItem"
            },
            "description": "Individual backlinks pointing to the target. Each backlink is one billable record."
          }
        },
        "required": [
          "target",
          "view",
          "results"
        ]
      },
      "SeoBacklinkItem": {
        "type": "object",
        "properties": {
          "domain_from": {
            "type": "string",
            "description": "Domain of the page that links to the target."
          },
          "url_from": {
            "type": "string",
            "description": "URL of the page that links to the target."
          },
          "url_to": {
            "type": "string",
            "description": "Target URL the backlink points to."
          },
          "domain_to": {
            "type": "string",
            "description": "Target domain the backlink points to."
          },
          "anchor": {
            "type": "string",
            "description": "Anchor text of the backlink."
          },
          "dofollow": {
            "type": "boolean",
            "description": "Whether the backlink is dofollow."
          },
          "item_type": {
            "type": "string",
            "description": "Type of backlink: anchor, image, link, redirect, or canonical."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the referring page (0-1000)."
          },
          "page_from_rank": {
            "type": "integer",
            "description": "Rank of the referring page itself (0-1000)."
          },
          "domain_from_rank": {
            "type": "integer",
            "description": "Rank of the referring domain (0-1000)."
          },
          "backlink_spam_score": {
            "type": "integer",
            "description": "Spam score of the referring page, 0-100."
          },
          "is_new": {
            "type": "boolean",
            "description": "Whether the backlink appeared since the last check."
          },
          "is_lost": {
            "type": "boolean",
            "description": "Whether the backlink was lost since the last check."
          },
          "is_broken": {
            "type": "boolean",
            "description": "Whether the backlink points to a broken page."
          },
          "first_seen": {
            "type": "string",
            "description": "Date the backlink was first found."
          },
          "last_seen": {
            "type": "string",
            "description": "Date the backlink was last seen."
          },
          "prev_seen": {
            "type": "string",
            "description": "Previous date the backlink was seen before the last check (full view)."
          },
          "tld_from": {
            "type": "string",
            "description": "Top-level domain of the referring page (full view)."
          },
          "url_from_https": {
            "type": "boolean",
            "description": "Whether the referring page uses HTTPS (full view)."
          },
          "url_to_https": {
            "type": "boolean",
            "description": "Whether the target URL uses HTTPS (full view)."
          },
          "alt": {
            "type": "string",
            "description": "Alt text, if the backlink is an image link (full view)."
          },
          "image_url": {
            "type": "string",
            "description": "Image URL, if the backlink is an image link (full view)."
          },
          "text_pre": {
            "type": "string",
            "description": "Text immediately before the anchor (full view)."
          },
          "text_post": {
            "type": "string",
            "description": "Text immediately after the anchor (full view)."
          },
          "semantic_location": {
            "type": "string",
            "description": "Semantic location of the link on the page, e.g. article, footer (full view)."
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Link rel attributes, e.g. nofollow, sponsored, ugc (full view)."
          },
          "links_count": {
            "type": "integer",
            "description": "Number of identical links from the referring page (full view)."
          },
          "group_count": {
            "type": "integer",
            "description": "Number of similar grouped links from the referring domain (full view)."
          },
          "page_from_title": {
            "type": "string",
            "description": "Title of the referring page (full view)."
          },
          "page_from_language": {
            "type": "string",
            "description": "Language of the referring page (full view)."
          },
          "page_from_status_code": {
            "type": "integer",
            "description": "HTTP status code of the referring page (full view)."
          },
          "page_from_external_links": {
            "type": "integer",
            "description": "Number of external links on the referring page (full view)."
          },
          "page_from_internal_links": {
            "type": "integer",
            "description": "Number of internal links on the referring page (full view)."
          },
          "domain_from_country": {
            "type": "string",
            "description": "Country of the referring domain (full view)."
          },
          "domain_from_platform_type": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Platform types of the referring domain, e.g. cms, blogs (full view)."
          },
          "url_to_status_code": {
            "type": "integer",
            "description": "HTTP status code of the target URL (full view)."
          },
          "url_to_redirect_target": {
            "type": "string",
            "description": "Redirect target of the backlink URL, if any (full view)."
          },
          "is_indirect_link": {
            "type": "boolean",
            "description": "Whether the link reaches the target via a redirect or canonical (full view)."
          }
        }
      },
      "SeoBacklinksListRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "mode": {
            "type": "string",
            "enum": [
              "as_is",
              "one_per_domain",
              "one_per_anchor"
            ],
            "description": "Result grouping: as_is returns every backlink (default), one_per_domain returns one per referring domain, one_per_anchor returns one per anchor."
          },
          "backlinks_status_type": {
            "$ref": "#/components/schemas/SeoBacklinksStatusType"
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "include_indirect_links": {
            "type": "boolean",
            "description": "Include indirect links (via redirects or canonicals) to the target. Defaults to true."
          },
          "exclude_internal_backlinks": {
            "type": "boolean",
            "description": "Exclude internal backlinks from the target's own subdomains. Defaults to true."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the returned individual backlinks. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: domain_from (domain of the referring page); url_from (URL of the referring page); url_to (target URL the backlink points to); domain_to (target domain the backlink points to); dofollow (boolean, link is dofollow); is_new (boolean, appeared since the last check); is_lost (boolean, lost since the last check); is_broken (boolean, points to a broken page); rank (referring page rank, 0-1000); page_from_rank (referring page rank, 0-1000); domain_from_rank (referring domain rank, 0-1000); backlink_spam_score (spam score of the referring page, 0-100); item_type (anchor, image, link, redirect, or canonical); anchor (anchor text); tld_from (top-level domain of the referring page); semantic_location (link location, e.g. article, footer); first_seen (ISO date the backlink was first seen); last_seen (ISO date the backlink was last seen). Example: {\"and\":[{\"field\":\"dofollow\",\"op\":\"=\",\"value\":true},{\"field\":\"is_broken\",\"op\":\"=\",\"value\":false}]}"
          },
          "order_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataForSeoOrderByRule"
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "Sort the returned backlinks. Each rule is {\"field\",\"dir\"} with dir asc or desc; up to 3 rules, applied in order. Sortable fields: domain_from, url_from, url_to, domain_to, dofollow, is_new, is_lost, is_broken, rank, page_from_rank, domain_from_rank, backlink_spam_score, item_type, anchor, tld_from, semantic_location, first_seen, last_seen."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of records to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip from the start of the results."
          },
          "search_after_token": {
            "type": "string",
            "description": "Continuation token from a previous response, used to page past the 20,000-result offset limit. Keep all other parameters identical when paging."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls backlink detail. summary keeps link identity and headline rank/anchor data; full adds referring-page details and link attributes. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksPageIntersectionResponse": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The requested targets, in request order, echoed back. Each links_to entry's target matches one of these."
          },
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of intersecting pages available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksPageIntersectionItem"
            },
            "description": "Referring pages that link to the requested targets, with the backlinks to each target. Each page is one billable record."
          }
        },
        "required": [
          "targets",
          "view",
          "results"
        ]
      },
      "SeoBacklinksPageIntersectionItem": {
        "type": "object",
        "properties": {
          "url_from": {
            "type": "string",
            "description": "URL of the referring page that links to the targets."
          },
          "domain_from": {
            "type": "string",
            "description": "Domain of the referring page."
          },
          "intersections_count": {
            "type": "integer",
            "description": "Number of the requested targets this page links to."
          },
          "links_to": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksPageIntersectionTargetLinks"
            },
            "description": "Backlinks from this referring page to each requested target it links to, one entry per target."
          }
        },
        "required": [
          "links_to"
        ]
      },
      "SeoBacklinksPageIntersectionTargetLinks": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "The requested target these backlinks point to."
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinkItem"
            }
          }
        },
        "required": [
          "target",
          "links"
        ]
      },
      "SeoBacklinksPageIntersectionRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 20,
            "description": "Domains, subdomains, or pages to find common referring pages for (1-20). Order is preserved as the 1-based index in the response."
          },
          "exclude_targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "maxItems": 10,
            "description": "Domains, subdomains, or pages to exclude (up to 10). Pages linking to these are dropped."
          },
          "intersection_mode": {
            "type": "string",
            "enum": [
              "all",
              "partial"
            ],
            "description": "all (default) returns pages linking to any target; partial returns only pages linking to every target."
          },
          "backlinks_status_type": {
            "$ref": "#/components/schemas/SeoBacklinksStatusType"
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "include_indirect_links": {
            "type": "boolean",
            "description": "Include indirect links (via redirects or canonicals) to the target. Defaults to true."
          },
          "exclude_internal_backlinks": {
            "type": "boolean",
            "description": "Exclude internal backlinks from the target's own subdomains. Defaults to true."
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of entries kept in each referring_links_* breakdown map. Defaults to 10."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the intersecting referring pages. Prefix each backlink field with the 1-based target index, e.g. 1.dofollow, 2.rank. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: dofollow (boolean, link is dofollow); is_new (boolean, appeared since the last check); is_lost (boolean, lost since the last check); is_broken (boolean, points to a broken page); rank (referring page rank, 0-1000); page_from_rank (referring page rank, 0-1000); domain_from_rank (referring domain rank, 0-1000); backlink_spam_score (spam score of the referring page, 0-100); item_type (anchor, image, link, redirect, or canonical); anchor (anchor text); tld_from (top-level domain of the referring page); semantic_location (link location, e.g. article, footer); first_seen (ISO date the backlink was first seen); last_seen (ISO date the backlink was last seen). Example: {\"field\":\"1.dofollow\",\"op\":\"=\",\"value\":true}"
          },
          "order_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataForSeoOrderByRule"
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "Sort the intersecting referring pages. Prefix each field with the 1-based target index, e.g. 1.rank. Each rule is {\"field\",\"dir\"} with dir asc or desc; up to 3 rules, applied in order. Sortable fields: dofollow, is_new, is_lost, is_broken, rank, page_from_rank, domain_from_rank, backlink_spam_score, item_type, anchor, tld_from, semantic_location, first_seen, last_seen."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of records to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls backlink detail. summary keeps link identity and headline rank/anchor data; full adds referring-page details and link attributes. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoReferringDomainsResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of referring domains available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoReferringDomainItem"
            },
            "description": "Referring domains pointing to the target, with backlink counters. Each domain is one billable record."
          }
        },
        "required": [
          "target",
          "view",
          "results"
        ]
      },
      "SeoReferringDomainItem": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Referring domain pointing to the target."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the target, similar to PageRank (0-1000 by default)."
          },
          "backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to the target."
          },
          "backlinks_spam_score": {
            "type": "integer",
            "description": "Average spam score of the referring pages, 0-100."
          },
          "first_seen": {
            "type": "string",
            "description": "Date DataForSEO first found a backlink for the target."
          },
          "lost_date": {
            "type": "string",
            "description": "Date the last backlink was lost, if the target currently has none."
          },
          "broken_backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to broken (4xx/5xx) pages of the target."
          },
          "broken_pages": {
            "type": "integer",
            "description": "Number of broken target pages that still receive backlinks."
          },
          "referring_domains": {
            "type": "integer",
            "description": "Number of referring domains pointing to the target."
          },
          "referring_main_domains": {
            "type": "integer",
            "description": "Number of referring root domains pointing to the target."
          },
          "referring_pages": {
            "type": "integer",
            "description": "Number of referring pages pointing to the target."
          },
          "referring_ips": {
            "type": "integer",
            "description": "Number of referring IP addresses pointing to the target."
          },
          "referring_subnets": {
            "type": "integer",
            "description": "Number of referring subnets pointing to the target."
          },
          "referring_domains_nofollow": {
            "type": "integer",
            "description": "Referring domains linking only with nofollow backlinks (full view)."
          },
          "referring_main_domains_nofollow": {
            "type": "integer",
            "description": "Referring root domains linking only with nofollow backlinks (full view)."
          },
          "referring_pages_nofollow": {
            "type": "integer",
            "description": "Referring pages linking only with nofollow backlinks (full view)."
          },
          "referring_links_tld": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by top-level domain of the referring page (full view)."
          },
          "referring_links_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link type, e.g. anchor, image, redirect (full view)."
          },
          "referring_links_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link attribute, e.g. nofollow, sponsored, ugc (full view)."
          },
          "referring_links_platform_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by platform type, e.g. cms, blogs, ecommerce (full view)."
          },
          "referring_links_semantic_locations": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by semantic location on the page, e.g. article, footer (full view)."
          },
          "referring_links_countries": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by country of the referring page (full view)."
          }
        },
        "required": [
          "domain"
        ]
      },
      "SeoReferringDomainsRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "backlinks_status_type": {
            "$ref": "#/components/schemas/SeoBacklinksStatusType"
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "include_indirect_links": {
            "type": "boolean",
            "description": "Include indirect links (via redirects or canonicals) to the target. Defaults to true."
          },
          "exclude_internal_backlinks": {
            "type": "boolean",
            "description": "Exclude internal backlinks from the target's own subdomains. Defaults to true."
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of entries kept in each referring_links_* breakdown map. Defaults to 10."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the returned referring domains. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: domain (referring domain); rank (backlink rank, 0-1000); backlinks (number of backlinks); backlinks_spam_score (average spam score, 0-100); referring_domains (referring domains count); referring_main_domains (referring root domains count); referring_pages (referring pages count); referring_ips (referring IPs count); referring_subnets (referring subnets count); broken_backlinks (backlinks to broken pages); broken_pages (broken pages still receiving backlinks); first_seen (ISO date the first backlink was found); lost_date (ISO date the last backlink was lost). Example: {\"and\":[{\"field\":\"rank\",\"op\":\">\",\"value\":200},{\"field\":\"backlinks\",\"op\":\">\",\"value\":10}]}"
          },
          "order_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataForSeoOrderByRule"
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "Sort the returned referring domains. Each rule is {\"field\",\"dir\"} with dir asc or desc; up to 3 rules, applied in order. Sortable fields: domain, rank, backlinks, backlinks_spam_score, referring_domains, referring_main_domains, referring_pages, referring_ips, referring_subnets, broken_backlinks, broken_pages, first_seen, lost_date."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of records to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls metric depth. summary keeps the headline counters; full adds nofollow variants and the referring_links_* breakdown maps. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksReferringNetworksResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of referring networks available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksReferringNetworkItem"
            },
            "description": "Referring IP networks pointing to the target, with backlink counters. Each network is one billable record."
          }
        },
        "required": [
          "target",
          "view",
          "results"
        ]
      },
      "SeoBacklinksReferringNetworkItem": {
        "type": "object",
        "properties": {
          "network_address": {
            "type": "string",
            "description": "Referring IP address or subnet pointing to the target."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the target, similar to PageRank (0-1000 by default)."
          },
          "backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to the target."
          },
          "backlinks_spam_score": {
            "type": "integer",
            "description": "Average spam score of the referring pages, 0-100."
          },
          "first_seen": {
            "type": "string",
            "description": "Date DataForSEO first found a backlink for the target."
          },
          "lost_date": {
            "type": "string",
            "description": "Date the last backlink was lost, if the target currently has none."
          },
          "broken_backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to broken (4xx/5xx) pages of the target."
          },
          "broken_pages": {
            "type": "integer",
            "description": "Number of broken target pages that still receive backlinks."
          },
          "referring_domains": {
            "type": "integer",
            "description": "Number of referring domains pointing to the target."
          },
          "referring_main_domains": {
            "type": "integer",
            "description": "Number of referring root domains pointing to the target."
          },
          "referring_pages": {
            "type": "integer",
            "description": "Number of referring pages pointing to the target."
          },
          "referring_ips": {
            "type": "integer",
            "description": "Number of referring IP addresses pointing to the target."
          },
          "referring_subnets": {
            "type": "integer",
            "description": "Number of referring subnets pointing to the target."
          },
          "referring_domains_nofollow": {
            "type": "integer",
            "description": "Referring domains linking only with nofollow backlinks (full view)."
          },
          "referring_main_domains_nofollow": {
            "type": "integer",
            "description": "Referring root domains linking only with nofollow backlinks (full view)."
          },
          "referring_pages_nofollow": {
            "type": "integer",
            "description": "Referring pages linking only with nofollow backlinks (full view)."
          },
          "referring_links_tld": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by top-level domain of the referring page (full view)."
          },
          "referring_links_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link type, e.g. anchor, image, redirect (full view)."
          },
          "referring_links_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link attribute, e.g. nofollow, sponsored, ugc (full view)."
          },
          "referring_links_platform_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by platform type, e.g. cms, blogs, ecommerce (full view)."
          },
          "referring_links_semantic_locations": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by semantic location on the page, e.g. article, footer (full view)."
          },
          "referring_links_countries": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by country of the referring page (full view)."
          }
        },
        "required": [
          "network_address"
        ]
      },
      "SeoBacklinksReferringNetworksRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "network_address_type": {
            "type": "string",
            "enum": [
              "ip",
              "subnet"
            ],
            "description": "Group referring networks by individual IP (ip, default) or by subnet (subnet)."
          },
          "backlinks_status_type": {
            "$ref": "#/components/schemas/SeoBacklinksStatusType"
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "include_indirect_links": {
            "type": "boolean",
            "description": "Include indirect links (via redirects or canonicals) to the target. Defaults to true."
          },
          "exclude_internal_backlinks": {
            "type": "boolean",
            "description": "Exclude internal backlinks from the target's own subdomains. Defaults to true."
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of entries kept in each referring_links_* breakdown map. Defaults to 10."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the returned referring networks. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: rank (backlink rank, 0-1000); backlinks (number of backlinks); backlinks_spam_score (average spam score, 0-100); referring_domains (referring domains count); referring_main_domains (referring root domains count); referring_pages (referring pages count); referring_ips (referring IPs count); referring_subnets (referring subnets count); broken_backlinks (backlinks to broken pages); broken_pages (broken pages still receiving backlinks); first_seen (ISO date the first backlink was found); lost_date (ISO date the last backlink was lost). Example: {\"field\":\"referring_domains\",\"op\":\">\",\"value\":5}"
          },
          "backlinks_filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DataForSeoFilterCondition"
              },
              {
                "type": "object",
                "properties": {
                  "and": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions that must all match."
                  }
                },
                "required": [
                  "and"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DataForSeoFilter"
                    },
                    "minItems": 2,
                    "description": "Sub-expressions where at least one must match."
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              }
            ],
            "description": "Filter the underlying individual backlinks before the aggregate metrics are computed. Provide a single condition {\"field\",\"op\",\"value\"} or an {\"and\":[…]} / {\"or\":[…]} group of conditions (nest groups for mixed logic), up to 8 conditions. Operators: =, <>, <, <=, >, >=, in, not_in, like, not_like, ilike, not_ilike, match, not_match (use an array value with in / not_in). Filterable fields: dofollow (boolean, link is dofollow); is_new (boolean, appeared since the last check); is_lost (boolean, lost since the last check); is_broken (boolean, points to a broken page); rank (referring page rank, 0-1000); page_from_rank (referring page rank, 0-1000); domain_from_rank (referring domain rank, 0-1000); backlink_spam_score (spam score of the referring page, 0-100); item_type (anchor, image, link, redirect, or canonical); anchor (anchor text); tld_from (top-level domain of the referring page); semantic_location (link location, e.g. article, footer); first_seen (ISO date the backlink was first seen); last_seen (ISO date the backlink was last seen). Example: {\"and\":[{\"field\":\"dofollow\",\"op\":\"=\",\"value\":true},{\"field\":\"backlink_spam_score\",\"op\":\"<\",\"value\":10}]}"
          },
          "order_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataForSeoOrderByRule"
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "Sort the returned referring networks. Each rule is {\"field\",\"dir\"} with dir asc or desc; up to 3 rules, applied in order. Sortable fields: rank, backlinks, backlinks_spam_score, referring_domains, referring_main_domains, referring_pages, referring_ips, referring_subnets, broken_backlinks, broken_pages, first_seen, lost_date."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of records to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls metric depth. summary keeps the headline counters; full adds nofollow variants and the referring_links_* breakdown maps. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksSummaryResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "view": {
            "$ref": "#/components/schemas/SeoBacklinksView"
          },
          "crawled_pages": {
            "type": "integer",
            "description": "Number of target pages DataForSEO has crawled."
          },
          "internal_links_count": {
            "type": "integer",
            "description": "Number of internal links found across the crawled target pages."
          },
          "external_links_count": {
            "type": "integer",
            "description": "Number of external links found across the crawled target pages."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the target, similar to PageRank (0-1000 by default)."
          },
          "backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to the target."
          },
          "backlinks_spam_score": {
            "type": "integer",
            "description": "Average spam score of the referring pages, 0-100."
          },
          "first_seen": {
            "type": "string",
            "description": "Date DataForSEO first found a backlink for the target."
          },
          "lost_date": {
            "type": "string",
            "description": "Date the last backlink was lost, if the target currently has none."
          },
          "broken_backlinks": {
            "type": "integer",
            "description": "Number of backlinks pointing to broken (4xx/5xx) pages of the target."
          },
          "broken_pages": {
            "type": "integer",
            "description": "Number of broken target pages that still receive backlinks."
          },
          "referring_domains": {
            "type": "integer",
            "description": "Number of referring domains pointing to the target."
          },
          "referring_main_domains": {
            "type": "integer",
            "description": "Number of referring root domains pointing to the target."
          },
          "referring_pages": {
            "type": "integer",
            "description": "Number of referring pages pointing to the target."
          },
          "referring_ips": {
            "type": "integer",
            "description": "Number of referring IP addresses pointing to the target."
          },
          "referring_subnets": {
            "type": "integer",
            "description": "Number of referring subnets pointing to the target."
          },
          "referring_domains_nofollow": {
            "type": "integer",
            "description": "Referring domains linking only with nofollow backlinks (full view)."
          },
          "referring_main_domains_nofollow": {
            "type": "integer",
            "description": "Referring root domains linking only with nofollow backlinks (full view)."
          },
          "referring_pages_nofollow": {
            "type": "integer",
            "description": "Referring pages linking only with nofollow backlinks (full view)."
          },
          "referring_links_tld": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by top-level domain of the referring page (full view)."
          },
          "referring_links_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link type, e.g. anchor, image, redirect (full view)."
          },
          "referring_links_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by link attribute, e.g. nofollow, sponsored, ugc (full view)."
          },
          "referring_links_platform_types": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by platform type, e.g. cms, blogs, ecommerce (full view)."
          },
          "referring_links_semantic_locations": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by semantic location on the page, e.g. article, footer (full view)."
          },
          "referring_links_countries": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Referring links grouped by country of the referring page (full view)."
          }
        },
        "required": [
          "target",
          "view"
        ]
      },
      "SeoBacklinksSummaryRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "backlinks_status_type": {
            "$ref": "#/components/schemas/SeoBacklinksStatusType"
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "include_indirect_links": {
            "type": "boolean",
            "description": "Include indirect links (via redirects or canonicals) to the target. Defaults to true."
          },
          "exclude_internal_backlinks": {
            "type": "boolean",
            "description": "Exclude internal backlinks from the target's own subdomains. Defaults to true."
          },
          "internal_list_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of entries kept in each referring_links_* breakdown map. Defaults to 10."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoBacklinksView"
              },
              {
                "description": "Controls metric depth. summary keeps the headline counters; full adds nofollow variants and the referring_links_* breakdown maps. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksTimeseriesNewLostResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "group_range": {
            "type": "string",
            "description": "Granularity used to group the series."
          },
          "date_from": {
            "type": "string",
            "description": "Start date of the series echoed from the request."
          },
          "date_to": {
            "type": "string",
            "description": "End date of the series echoed from the request."
          },
          "series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksTimeseriesNewLostItem"
            },
            "description": "New/lost backlink and referring-domain counts grouped by period, oldest to newest."
          }
        },
        "required": [
          "target",
          "series"
        ]
      },
      "SeoBacklinksTimeseriesNewLostItem": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Last day of the grouped period."
          },
          "new_backlinks": {
            "type": "integer",
            "description": "Backlinks gained during the period."
          },
          "lost_backlinks": {
            "type": "integer",
            "description": "Backlinks lost during the period."
          },
          "new_referring_domains": {
            "type": "integer",
            "description": "Referring domains gained during the period."
          },
          "lost_referring_domains": {
            "type": "integer",
            "description": "Referring domains lost during the period."
          },
          "new_referring_main_domains": {
            "type": "integer",
            "description": "Referring root domains gained during the period."
          },
          "lost_referring_main_domains": {
            "type": "integer",
            "description": "Referring root domains lost during the period."
          }
        },
        "required": [
          "date"
        ]
      },
      "SeoBacklinksTimeseriesNewLostRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "date_from": {
            "type": "string",
            "description": "Start date (yyyy-mm-dd) for the series. Minimum 2019-01-30; defaults to one month ago."
          },
          "date_to": {
            "type": "string",
            "description": "End date (yyyy-mm-dd). Defaults to today."
          },
          "group_range": {
            "type": "string",
            "enum": [
              "day",
              "week",
              "month",
              "year"
            ],
            "description": "Granularity used to group the series. Defaults to month."
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBacklinksTimeseriesResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target echoed from the request."
          },
          "group_range": {
            "type": "string",
            "description": "Granularity used to group the series."
          },
          "date_from": {
            "type": "string",
            "description": "Start date of the series echoed from the request."
          },
          "date_to": {
            "type": "string",
            "description": "End date of the series echoed from the request."
          },
          "series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBacklinksTimeseriesItem"
            },
            "description": "Backlink metrics grouped by period, oldest to newest."
          }
        },
        "required": [
          "target",
          "series"
        ]
      },
      "SeoBacklinksTimeseriesItem": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Last day of the grouped period."
          },
          "rank": {
            "type": "integer",
            "description": "Backlink rank of the target at the period end."
          },
          "backlinks": {
            "type": "integer",
            "description": "Backlinks pointing to the target."
          },
          "backlinks_nofollow": {
            "type": "integer",
            "description": "Nofollow backlinks pointing to the target."
          },
          "referring_pages": {
            "type": "integer",
            "description": "Referring pages pointing to the target."
          },
          "referring_pages_nofollow": {
            "type": "integer",
            "description": "Referring pages linking only with nofollow backlinks."
          },
          "referring_domains": {
            "type": "integer",
            "description": "Referring domains pointing to the target."
          },
          "referring_domains_nofollow": {
            "type": "integer",
            "description": "Referring domains linking only with nofollow backlinks."
          },
          "referring_main_domains": {
            "type": "integer",
            "description": "Referring root domains pointing to the target."
          },
          "referring_main_domains_nofollow": {
            "type": "integer",
            "description": "Referring root domains linking only with nofollow backlinks."
          },
          "referring_ips": {
            "type": "integer",
            "description": "Referring IP addresses pointing to the target."
          },
          "referring_subnets": {
            "type": "integer",
            "description": "Referring subnets pointing to the target."
          }
        },
        "required": [
          "date"
        ]
      },
      "SeoBacklinksTimeseriesRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Domain, subdomain, or page to analyze. A domain or subdomain is specified without https:// and www. (example.com); a page is specified as an absolute URL (https://example.com/blog/)."
          },
          "date_from": {
            "type": "string",
            "description": "Start date (yyyy-mm-dd) for the series. Minimum 2019-01-30; defaults to one month ago."
          },
          "date_to": {
            "type": "string",
            "description": "End date (yyyy-mm-dd). Defaults to today."
          },
          "group_range": {
            "type": "string",
            "enum": [
              "day",
              "week",
              "month",
              "year"
            ],
            "description": "Granularity used to group the series. Defaults to month."
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "Include backlinks pointing to the target's subdomains. Defaults to true."
          },
          "rank_scale": {
            "$ref": "#/components/schemas/SeoBacklinksRankScale"
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoBulkTrafficResponse": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoDomainMetricsView"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoBulkTrafficItem"
            },
            "description": "Estimated traffic per requested domain. Each domain is one billable record."
          }
        },
        "required": [
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoDomainMetricsView": {
        "type": "string",
        "enum": [
          "summary",
          "full"
        ]
      },
      "SeoBulkTrafficItem": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Domain echoed from the request."
          },
          "metrics": {
            "$ref": "#/components/schemas/SeoDomainMetrics"
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoDomainMetrics": {
        "type": "object",
        "properties": {
          "organic": {
            "$ref": "#/components/schemas/SeoDomainMetricGroup"
          },
          "paid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetricGroup"
              },
              {
                "description": "Paid search (Google Ads) ranking distribution."
              }
            ]
          }
        },
        "description": "Estimated ranking distribution and traffic for the domain."
      },
      "SeoDomainMetricGroup": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of keywords the domain ranks for in this result type."
          },
          "etv": {
            "type": "number",
            "description": "Estimated monthly organic traffic (clicks) from this result type."
          },
          "estimated_paid_traffic_cost": {
            "type": "number",
            "description": "Estimated monthly cost (USD) of buying this traffic through ads."
          },
          "pos_1": {
            "type": "integer",
            "description": "Keywords ranking in position 1."
          },
          "pos_2_3": {
            "type": "integer",
            "description": "Keywords ranking in positions 2-3."
          },
          "pos_4_10": {
            "type": "integer",
            "description": "Keywords ranking in positions 4-10."
          },
          "pos_11_20": {
            "type": "integer",
            "description": "Keywords ranking in positions 11-20."
          },
          "pos_21_30": {
            "type": "integer",
            "description": "Keywords ranking in positions 21-30."
          },
          "pos_31_40": {
            "type": "integer",
            "description": "Keywords ranking in positions 31-40."
          },
          "pos_41_50": {
            "type": "integer",
            "description": "Keywords ranking in positions 41-50."
          },
          "pos_51_60": {
            "type": "integer",
            "description": "Keywords ranking in positions 51-60."
          },
          "pos_61_70": {
            "type": "integer",
            "description": "Keywords ranking in positions 61-70."
          },
          "pos_71_80": {
            "type": "integer",
            "description": "Keywords ranking in positions 71-80."
          },
          "pos_81_90": {
            "type": "integer",
            "description": "Keywords ranking in positions 81-90."
          },
          "pos_91_100": {
            "type": "integer",
            "description": "Keywords ranking in positions 91-100."
          },
          "is_new": {
            "type": "integer",
            "description": "Keywords newly ranking since the last check."
          },
          "is_up": {
            "type": "integer",
            "description": "Keywords that moved up since the last check."
          },
          "is_down": {
            "type": "integer",
            "description": "Keywords that moved down since the last check."
          },
          "is_lost": {
            "type": "integer",
            "description": "Keywords lost since the last check."
          }
        },
        "description": "Organic search ranking distribution."
      },
      "SeoBulkTrafficRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 253
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Domains to estimate traffic for (1-1000)."
          },
          "location": {
            "$ref": "#/components/schemas/SeoBulkTrafficLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetricsView"
              },
              {
                "description": "Controls metric depth. summary keeps headline traffic and top positions, full adds the complete position breakdown. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoBulkTrafficLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoDomainIntersectionResponse": {
        "type": "object",
        "properties": {
          "target1": {
            "type": "string",
            "description": "First domain echoed from the request."
          },
          "target2": {
            "type": "string",
            "description": "Second domain echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoKeywordView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of intersecting keywords available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoDomainIntersectionItem"
            },
            "description": "Keywords shared by the two domains, with each domain's ranking position. Each keyword is one billable record."
          }
        },
        "required": [
          "target1",
          "target2",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoKeywordView": {
        "type": "string",
        "enum": [
          "summary",
          "standard",
          "full"
        ]
      },
      "SeoDomainIntersectionItem": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "description": "Keyword phrase."
          },
          "search_volume": {
            "type": "integer",
            "description": "Average monthly Google search volume."
          },
          "cpc": {
            "type": "number",
            "description": "Average cost-per-click in USD."
          },
          "competition": {
            "type": "number",
            "description": "Google Ads competition index between 0 and 1."
          },
          "competition_level": {
            "type": "string",
            "description": "Google Ads competition level: LOW, MEDIUM, or HIGH."
          },
          "keyword_difficulty": {
            "type": "integer",
            "description": "Relative difficulty of ranking in the top-10 organic results, 0-100."
          },
          "search_intent": {
            "type": "string",
            "description": "Main search intent: informational, navigational, commercial, or transactional."
          },
          "search_intent_alternatives": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supplementary search intents detected for the keyword."
          },
          "low_top_of_page_bid": {
            "type": "number",
            "description": "Lower-range top-of-page bid in USD from Google Ads."
          },
          "high_top_of_page_bid": {
            "type": "number",
            "description": "Upper-range top-of-page bid in USD from Google Ads."
          },
          "words_count": {
            "type": "integer",
            "description": "Number of words in the keyword."
          },
          "detected_language": {
            "type": "string",
            "description": "Language detected for the keyword."
          },
          "search_volume_trend": {
            "$ref": "#/components/schemas/SeoKeywordSearchVolumeTrend"
          },
          "serp_item_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SERP feature types present for the keyword (only with include_serp_info)."
          },
          "serp_results_count": {
            "type": "integer",
            "description": "Number of organic results Google reports for the keyword."
          },
          "monthly_searches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordMonthlySearch"
            },
            "description": "Per-month search volume for the past 12 months (full view only)."
          },
          "last_updated_at": {
            "type": "string",
            "description": "When DataForSEO last refreshed the keyword metrics."
          },
          "first_domain": {
            "$ref": "#/components/schemas/SeoSerpElement"
          },
          "second_domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoSerpElement"
              },
              {
                "description": "Where the second domain ranks for the keyword."
              }
            ]
          }
        },
        "required": [
          "keyword"
        ]
      },
      "SeoKeywordSearchVolumeTrend": {
        "type": "object",
        "properties": {
          "monthly": {
            "type": "number",
            "description": "Percentage change versus the previous month."
          },
          "quarterly": {
            "type": "number",
            "description": "Percentage change versus the previous quarter."
          },
          "yearly": {
            "type": "number",
            "description": "Percentage change versus the previous year."
          }
        },
        "description": "Search-volume change percentages over recent periods (full view only)."
      },
      "SeoKeywordMonthlySearch": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "description": "Calendar year of the data point."
          },
          "month": {
            "type": "integer",
            "description": "Month number, 1-12."
          },
          "search_volume": {
            "type": "integer",
            "description": "Average Google search volume for that month."
          }
        },
        "required": [
          "year",
          "month"
        ]
      },
      "SeoSerpElement": {
        "type": "object",
        "properties": {
          "rank_group": {
            "type": "integer",
            "description": "Position in SERP grouping organic results together (ignores ads/features)."
          },
          "rank_absolute": {
            "type": "integer",
            "description": "Absolute position in SERP counting every element."
          },
          "position": {
            "type": "string",
            "description": "Side of the SERP the element appears on: left or right."
          },
          "domain": {
            "type": "string",
            "description": "Domain that holds the ranking page."
          },
          "title": {
            "type": "string",
            "description": "Title of the ranking page."
          },
          "url": {
            "type": "string",
            "description": "URL of the ranking page."
          },
          "etv": {
            "type": "number",
            "description": "Estimated monthly traffic the keyword sends to this URL."
          },
          "estimated_paid_traffic_cost": {
            "type": "number",
            "description": "Estimated monthly ad cost (USD) of the traffic this URL receives."
          }
        },
        "description": "Where the first domain ranks for the keyword."
      },
      "SeoDomainIntersectionRequest": {
        "type": "object",
        "properties": {
          "target1": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "First domain, such as example.com."
          },
          "target2": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "Second domain to compare against."
          },
          "location": {
            "$ref": "#/components/schemas/SeoDomainIntersectionLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "intersections": {
            "type": "boolean",
            "description": "When true (default), return keywords both domains rank for. When false, return keywords the first domain ranks for but the second does not."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of keywords to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of keywords to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoKeywordView"
              },
              {
                "description": "Controls keyword detail. summary keeps lean metrics, standard adds intent/bids/SERP context, full includes monthly trend data. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target1",
          "target2"
        ]
      },
      "SeoDomainIntersectionLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoDomainRankOverviewResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target domain echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoDomainMetricsView"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoDomainMetrics"
            },
            "description": "Ranking distribution and estimated traffic for the target domain. One billable record per location/language overview."
          }
        },
        "required": [
          "target",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoDomainRankOverviewRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "Target domain, such as example.com or https://example.com. Specified without www."
          },
          "location": {
            "$ref": "#/components/schemas/SeoDomainRankOverviewLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetricsView"
              },
              {
                "description": "Controls metric depth. full (default) returns the complete position breakdown; summary keeps only headline traffic and top positions."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoDomainRankOverviewLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoCompetitorsDomainResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target domain echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoDomainMetricsView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of competing domains available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoCompetitorDomainItem"
            },
            "description": "Domains competing with the target, with shared-keyword counts and traffic metrics. Each domain is one billable record."
          }
        },
        "required": [
          "target",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoCompetitorDomainItem": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Competing domain that shares keywords with the target."
          },
          "avg_position": {
            "type": "number",
            "description": "Average position of the competitor across the shared keywords."
          },
          "sum_position": {
            "type": "integer",
            "description": "Sum of the competitor's positions across the shared keywords."
          },
          "intersections": {
            "type": "integer",
            "description": "Number of keywords both the target and this competitor rank for."
          },
          "metrics": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetrics"
              },
              {
                "description": "Competitor's ranking distribution and traffic across the shared keywords."
              }
            ]
          },
          "full_domain_metrics": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetrics"
              },
              {
                "description": "Competitor's ranking distribution across all of its keywords (full view only)."
              }
            ]
          }
        },
        "required": [
          "domain"
        ]
      },
      "SeoCompetitorsDomainRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "Target domain, such as example.com or https://example.com. Specified without www."
          },
          "location": {
            "$ref": "#/components/schemas/SeoCompetitorsDomainLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "exclude_top_domains": {
            "type": "boolean",
            "description": "When true, exclude the largest global domains (e.g. wikipedia, amazon) from results."
          },
          "intersecting_domains": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 253
            },
            "maxItems": 20,
            "description": "Restrict results to competitors that also share keywords with these domains."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of competing domains to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of domains to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetricsView"
              },
              {
                "description": "Controls metric depth. summary keeps headline traffic and top positions, full adds the complete position breakdown and full-domain metrics. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoCompetitorsDomainLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoHistoricalBulkTrafficResponse": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoHistoricalBulkTrafficItem"
            },
            "description": "Monthly estimated traffic time series per requested domain. Each domain is one billable record."
          }
        },
        "required": [
          "location",
          "language",
          "results"
        ]
      },
      "SeoHistoricalBulkTrafficItem": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Domain echoed from the request."
          },
          "organic": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoHistoricalMetricPeriod"
            },
            "description": "Organic traffic time series."
          },
          "paid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoHistoricalMetricPeriod"
            },
            "description": "Paid traffic time series."
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoHistoricalMetricPeriod": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "description": "Year of the metrics snapshot."
          },
          "month": {
            "type": "integer",
            "description": "Month of the metrics snapshot (1-12)."
          },
          "etv": {
            "type": "number",
            "description": "Estimated organic traffic (clicks) in this period."
          },
          "count": {
            "type": "integer",
            "description": "Number of ranking keywords in this period."
          }
        },
        "required": [
          "year"
        ]
      },
      "SeoHistoricalBulkTrafficRequest": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 253
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Domains to estimate historical traffic for (1-1000)."
          },
          "location": {
            "$ref": "#/components/schemas/SeoHistoricalBulkTrafficLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "date_from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Start of the history window. Date in yyyy-mm-dd format. Minimum date: 2019-01-01."
          },
          "date_to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "End of the history window. Date in yyyy-mm-dd format. Minimum date: 2019-01-01."
          }
        },
        "required": [
          "targets"
        ]
      },
      "SeoHistoricalBulkTrafficLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoHistoricalRankOverviewResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target domain echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoDomainMetricsView"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoHistoricalRankItem"
            },
            "description": "Monthly ranking distribution and traffic for the target over time. Each month is one billable record."
          }
        },
        "required": [
          "target",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoHistoricalRankItem": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "description": "Year of the metrics snapshot."
          },
          "month": {
            "type": "integer",
            "description": "Month of the metrics snapshot (1-12)."
          },
          "organic": {
            "$ref": "#/components/schemas/SeoDomainMetricGroup"
          },
          "paid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetricGroup"
              },
              {
                "description": "Paid search (Google Ads) ranking distribution."
              }
            ]
          }
        },
        "required": [
          "year"
        ]
      },
      "SeoHistoricalRankOverviewRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "Target domain, such as example.com or https://example.com. Specified without www."
          },
          "location": {
            "$ref": "#/components/schemas/SeoHistoricalRankOverviewLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "date_from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Start of the history window. Date in yyyy-mm-dd format. Minimum date: 2019-01-01."
          },
          "date_to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "End of the history window. Date in yyyy-mm-dd format. Minimum date: 2019-01-01."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetricsView"
              },
              {
                "description": "Controls metric depth. summary keeps headline traffic and top positions, full adds the complete position breakdown. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoHistoricalRankOverviewLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoHistoricalSerpsResponse": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "description": "Keyword echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoHistoricalSerpItem"
            },
            "description": "SERP composition snapshots for the keyword over time. Each snapshot is one billable record."
          }
        },
        "required": [
          "keyword",
          "location",
          "language",
          "results"
        ]
      },
      "SeoHistoricalSerpItem": {
        "type": "object",
        "properties": {
          "datetime": {
            "type": "string",
            "description": "When this SERP snapshot was collected (ISO 8601)."
          },
          "se_results_count": {
            "type": "integer",
            "description": "Number of organic results Google reported for the keyword at this time."
          },
          "items_count": {
            "type": "integer",
            "description": "Number of SERP elements captured in this snapshot."
          },
          "item_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SERP feature types present in this snapshot (organic, paid, featured_snippet, etc.)."
          }
        },
        "required": [
          "datetime"
        ]
      },
      "SeoHistoricalSerpsRequest": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700,
            "description": "Keyword to retrieve historical SERP snapshots for."
          },
          "location": {
            "$ref": "#/components/schemas/SeoHistoricalSerpsLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "date_from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Start of the history window. Date in yyyy-mm-dd format. Minimum date: 2019-01-01."
          },
          "date_to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "End of the history window. Date in yyyy-mm-dd format. Minimum date: 2019-01-01."
          }
        },
        "required": [
          "keyword"
        ]
      },
      "SeoHistoricalSerpsLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoPageIntersectionResponse": {
        "type": "object",
        "properties": {
          "pages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Page URLs echoed from the request, in order."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoKeywordView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of intersecting keywords available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoPageIntersectionItem"
            },
            "description": "Keywords the requested pages rank for, with each page's ranking position. Each keyword is one billable record."
          }
        },
        "required": [
          "pages",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoPageIntersectionItem": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "description": "Keyword phrase."
          },
          "search_volume": {
            "type": "integer",
            "description": "Average monthly Google search volume."
          },
          "cpc": {
            "type": "number",
            "description": "Average cost-per-click in USD."
          },
          "competition": {
            "type": "number",
            "description": "Google Ads competition index between 0 and 1."
          },
          "competition_level": {
            "type": "string",
            "description": "Google Ads competition level: LOW, MEDIUM, or HIGH."
          },
          "keyword_difficulty": {
            "type": "integer",
            "description": "Relative difficulty of ranking in the top-10 organic results, 0-100."
          },
          "search_intent": {
            "type": "string",
            "description": "Main search intent: informational, navigational, commercial, or transactional."
          },
          "search_intent_alternatives": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supplementary search intents detected for the keyword."
          },
          "low_top_of_page_bid": {
            "type": "number",
            "description": "Lower-range top-of-page bid in USD from Google Ads."
          },
          "high_top_of_page_bid": {
            "type": "number",
            "description": "Upper-range top-of-page bid in USD from Google Ads."
          },
          "words_count": {
            "type": "integer",
            "description": "Number of words in the keyword."
          },
          "detected_language": {
            "type": "string",
            "description": "Language detected for the keyword."
          },
          "search_volume_trend": {
            "$ref": "#/components/schemas/SeoKeywordSearchVolumeTrend"
          },
          "serp_item_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SERP feature types present for the keyword (only with include_serp_info)."
          },
          "serp_results_count": {
            "type": "integer",
            "description": "Number of organic results Google reports for the keyword."
          },
          "monthly_searches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordMonthlySearch"
            },
            "description": "Per-month search volume for the past 12 months (full view only)."
          },
          "last_updated_at": {
            "type": "string",
            "description": "When DataForSEO last refreshed the keyword metrics."
          },
          "page_rankings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoSerpElement"
            },
            "description": "Ranking position of each requested page for the keyword, in request order."
          }
        },
        "required": [
          "keyword"
        ]
      },
      "SeoPageIntersectionRequest": {
        "type": "object",
        "properties": {
          "pages": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 20,
            "description": "Absolute page URLs to compare (1-20). A trailing /* wildcard matches a page and its sub-paths."
          },
          "exclude_pages": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "maxItems": 10,
            "description": "Page URLs to exclude (up to 10). Keywords where these rank are dropped."
          },
          "location": {
            "$ref": "#/components/schemas/SeoPageIntersectionLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "intersection_mode": {
            "type": "string",
            "enum": [
              "union",
              "intersect"
            ],
            "description": "union (default) returns keywords any page ranks for; intersect returns only keywords all pages rank for in the same SERP."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of keywords to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of keywords to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoKeywordView"
              },
              {
                "description": "Controls keyword detail. summary keeps lean metrics, standard adds intent/bids/SERP context, full includes monthly trend data. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "pages"
        ]
      },
      "SeoPageIntersectionLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoRankedKeywordsResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target domain or page echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoKeywordView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of keywords the target ranks for in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoRankedKeywordItem"
            },
            "description": "Keywords the target ranks for, each with keyword metrics and the ranking position/URL. Each keyword is one billable record."
          }
        },
        "required": [
          "target",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoRankedKeywordItem": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "description": "Keyword phrase."
          },
          "search_volume": {
            "type": "integer",
            "description": "Average monthly Google search volume."
          },
          "cpc": {
            "type": "number",
            "description": "Average cost-per-click in USD."
          },
          "competition": {
            "type": "number",
            "description": "Google Ads competition index between 0 and 1."
          },
          "competition_level": {
            "type": "string",
            "description": "Google Ads competition level: LOW, MEDIUM, or HIGH."
          },
          "keyword_difficulty": {
            "type": "integer",
            "description": "Relative difficulty of ranking in the top-10 organic results, 0-100."
          },
          "search_intent": {
            "type": "string",
            "description": "Main search intent: informational, navigational, commercial, or transactional."
          },
          "search_intent_alternatives": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supplementary search intents detected for the keyword."
          },
          "low_top_of_page_bid": {
            "type": "number",
            "description": "Lower-range top-of-page bid in USD from Google Ads."
          },
          "high_top_of_page_bid": {
            "type": "number",
            "description": "Upper-range top-of-page bid in USD from Google Ads."
          },
          "words_count": {
            "type": "integer",
            "description": "Number of words in the keyword."
          },
          "detected_language": {
            "type": "string",
            "description": "Language detected for the keyword."
          },
          "search_volume_trend": {
            "$ref": "#/components/schemas/SeoKeywordSearchVolumeTrend"
          },
          "serp_item_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SERP feature types present for the keyword (only with include_serp_info)."
          },
          "serp_results_count": {
            "type": "integer",
            "description": "Number of organic results Google reports for the keyword."
          },
          "monthly_searches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordMonthlySearch"
            },
            "description": "Per-month search volume for the past 12 months (full view only)."
          },
          "last_updated_at": {
            "type": "string",
            "description": "When DataForSEO last refreshed the keyword metrics."
          },
          "rank_group": {
            "type": "integer",
            "description": "Position in SERP grouping organic results together (ignores ads/features)."
          },
          "rank_absolute": {
            "type": "integer",
            "description": "Absolute position in SERP counting every element."
          },
          "position": {
            "type": "string",
            "description": "Side of the SERP the element appears on: left or right."
          },
          "domain": {
            "type": "string",
            "description": "Domain that holds the ranking page."
          },
          "title": {
            "type": "string",
            "description": "Title of the ranking page."
          },
          "url": {
            "type": "string",
            "description": "URL of the ranking page."
          },
          "etv": {
            "type": "number",
            "description": "Estimated monthly traffic the keyword sends to this URL."
          },
          "estimated_paid_traffic_cost": {
            "type": "number",
            "description": "Estimated monthly ad cost (USD) of the traffic this URL receives."
          }
        },
        "required": [
          "keyword"
        ]
      },
      "SeoRankedKeywordsRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "Target domain, such as example.com or https://example.com. Specified without www. A page URL can also be passed to get only that page's rankings."
          },
          "location": {
            "$ref": "#/components/schemas/SeoRankedKeywordsLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of ranked keywords to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of keywords to skip from the start of the results."
          },
          "ignore_synonyms": {
            "type": "boolean",
            "description": "When true, exclude highly similar keyword variations from the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoKeywordView"
              },
              {
                "description": "Controls keyword detail. summary keeps lean metrics, standard adds intent/bids/SERP context, full includes monthly trend data. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoRankedKeywordsLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoRelevantPagesResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target domain echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoDomainMetricsView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of ranking pages available for the target."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoRelevantPageItem"
            },
            "description": "Pages of the target ranked by traffic, each with ranking metrics. Each page is one billable record."
          }
        },
        "required": [
          "target",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoRelevantPageItem": {
        "type": "object",
        "properties": {
          "page_address": {
            "type": "string",
            "description": "URL of the target's page."
          },
          "metrics": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetrics"
              },
              {
                "description": "Ranking distribution and estimated traffic for the page."
              }
            ]
          }
        },
        "required": [
          "page_address"
        ]
      },
      "SeoRelevantPagesRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "Target domain, such as example.com or https://example.com. Specified without www."
          },
          "location": {
            "$ref": "#/components/schemas/SeoRelevantPagesLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of pages to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of pages to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetricsView"
              },
              {
                "description": "Controls metric depth. summary keeps headline traffic and top positions, full adds the complete position breakdown. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoRelevantPagesLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoSerpCompetitorsResponse": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Seed keywords echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of competing domains available in DataForSEO's database."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoSerpCompetitorItem"
            },
            "description": "Domains competing for the seed keywords, ranked by visibility. Each domain is one billable record."
          }
        },
        "required": [
          "keywords",
          "location",
          "language",
          "results"
        ]
      },
      "SeoSerpCompetitorItem": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Competing domain ranking for the seed keywords."
          },
          "avg_position": {
            "type": "number",
            "description": "Average position of the domain across the seed keywords."
          },
          "median_position": {
            "type": "number",
            "description": "Median position of the domain across the seed keywords."
          },
          "rating": {
            "type": "number",
            "description": "Relative visibility score weighing positions and search volume."
          },
          "etv": {
            "type": "number",
            "description": "Estimated monthly organic traffic the domain gets from the seed keywords."
          },
          "keywords_count": {
            "type": "integer",
            "description": "Number of seed keywords the domain ranks for."
          },
          "visibility": {
            "type": "number",
            "description": "Share of the seed keywords' total traffic captured by the domain."
          },
          "relevant_serp_items": {
            "type": "integer",
            "description": "Number of SERP elements the domain owns across the seed keywords."
          }
        },
        "required": [
          "domain"
        ]
      },
      "SeoSerpCompetitorsRequest": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "minItems": 1,
            "maxItems": 200,
            "description": "Seed keywords (1-200). Returns the domains that rank for them."
          },
          "location": {
            "$ref": "#/components/schemas/SeoSerpCompetitorsLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "When true (default), count subdomain rankings toward each domain."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of competing domains to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of domains to skip from the start of the results."
          }
        },
        "required": [
          "keywords"
        ]
      },
      "SeoSerpCompetitorsLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoSubdomainsResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target domain echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoDomainMetricsView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of subdomains available for the target."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoSubdomainItem"
            },
            "description": "Subdomains of the target with ranking and traffic metrics. Each subdomain is one billable record."
          }
        },
        "required": [
          "target",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoSubdomainItem": {
        "type": "object",
        "properties": {
          "subdomain": {
            "type": "string",
            "description": "Subdomain of the target domain."
          },
          "metrics": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetrics"
              },
              {
                "description": "Ranking distribution and estimated traffic for the subdomain."
              }
            ]
          }
        },
        "required": [
          "subdomain"
        ]
      },
      "SeoSubdomainsRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "Target domain, such as example.com or https://example.com. Specified without www."
          },
          "location": {
            "$ref": "#/components/schemas/SeoSubdomainsLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of subdomains to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of subdomains to skip from the start of the results."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoDomainMetricsView"
              },
              {
                "description": "Controls metric depth. summary keeps headline traffic and top positions, full adds the complete position breakdown. Defaults to summary."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoSubdomainsLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoKeywordAutocompleteResponse": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "observed_at": {
            "type": "string"
          },
          "search_url": {
            "type": "string"
          },
          "result_count": {
            "type": "integer",
            "description": "Number of suggestions returned."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoAutocompleteSuggestion"
            },
            "description": "Autocomplete suggestions for SEO keyword discovery. Each suggestion is billable."
          }
        },
        "required": [
          "keyword",
          "location",
          "language",
          "result_count",
          "results"
        ]
      },
      "SeoAutocompleteSuggestion": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "integer",
            "description": "Absolute rank of the suggestion in the list."
          },
          "suggestion": {
            "type": "string",
            "description": "Google autocomplete keyword suggestion."
          },
          "relevance": {
            "type": "integer",
            "description": "Relevance score Google assigns to the suggestion."
          },
          "suggestion_type": {
            "type": "string",
            "description": "Category Google assigns to the suggestion, such as Search or Navigation."
          },
          "search_query_url": {
            "type": "string",
            "description": "Google search URL the suggestion resolves to."
          },
          "thumbnail_url": {
            "type": "string",
            "description": "Thumbnail image URL when Google attaches one to the suggestion."
          },
          "highlighted": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Substrings highlighted by Google within the suggestion."
          },
          "is_billable": {
            "type": "boolean",
            "description": "Each suggestion is one billable record."
          }
        },
        "required": [
          "suggestion",
          "is_billable"
        ]
      },
      "SeoKeywordAutocompleteRequest": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700,
            "description": "Seed query typed into Google search. Returns the autocomplete suggestions Google offers."
          },
          "location": {
            "$ref": "#/components/schemas/SeoAutocompleteLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "cursor_pointer": {
            "type": "integer",
            "minimum": 0,
            "maximum": 700,
            "description": "Cursor position within the keyword. Defaults to the end of the keyword, matching how Google expands suggestions as you type."
          },
          "client": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Autocomplete client to emulate, such as chrome or gws-wiz. Different clients can return different suggestion sets."
          }
        },
        "required": [
          "keyword"
        ]
      },
      "SeoAutocompleteLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
      },
      "SeoKeywordDifficultyResponse": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Keywords echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordDifficultyItem"
            },
            "description": "Keyword difficulty per keyword. Each keyword is one billable record."
          }
        },
        "required": [
          "keywords",
          "location",
          "language",
          "results"
        ]
      },
      "SeoKeywordDifficultyItem": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "description": "Keyword phrase."
          },
          "keyword_difficulty": {
            "type": "integer",
            "description": "Difficulty of ranking in the top-10 organic results, on a 0-100 scale."
          }
        },
        "required": [
          "keyword"
        ]
      },
      "SeoKeywordDifficultyRequest": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Keywords to score (1-1000). Returns the keyword difficulty for each."
          },
          "location": {
            "$ref": "#/components/schemas/SeoKeywordDifficultyLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          }
        },
        "required": [
          "keywords"
        ]
      },
      "SeoKeywordDifficultyLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoKeywordsForSiteResponse": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Target domain echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoKeywordView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of keywords available for the target in DataForSEO's database."
          },
          "offset": {
            "type": "integer",
            "description": "Offset applied to the results."
          },
          "offset_token": {
            "type": "string",
            "description": "Pass this token as offset_token to fetch the next page of keywords."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordItem"
            },
            "description": "Keywords the domain is relevant for, with search volume, competition, difficulty, and intent. Each keyword is one billable record."
          }
        },
        "required": [
          "target",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoKeywordItem": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "description": "Keyword phrase."
          },
          "search_volume": {
            "type": "integer",
            "description": "Average monthly Google search volume."
          },
          "cpc": {
            "type": "number",
            "description": "Average cost-per-click in USD."
          },
          "competition": {
            "type": "number",
            "description": "Google Ads competition index between 0 and 1."
          },
          "competition_level": {
            "type": "string",
            "description": "Google Ads competition level: LOW, MEDIUM, or HIGH."
          },
          "keyword_difficulty": {
            "type": "integer",
            "description": "Relative difficulty of ranking in the top-10 organic results, 0-100."
          },
          "search_intent": {
            "type": "string",
            "description": "Main search intent: informational, navigational, commercial, or transactional."
          },
          "search_intent_alternatives": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Supplementary search intents detected for the keyword."
          },
          "low_top_of_page_bid": {
            "type": "number",
            "description": "Lower-range top-of-page bid in USD from Google Ads."
          },
          "high_top_of_page_bid": {
            "type": "number",
            "description": "Upper-range top-of-page bid in USD from Google Ads."
          },
          "words_count": {
            "type": "integer",
            "description": "Number of words in the keyword."
          },
          "detected_language": {
            "type": "string",
            "description": "Language detected for the keyword."
          },
          "search_volume_trend": {
            "$ref": "#/components/schemas/SeoKeywordSearchVolumeTrend"
          },
          "serp_item_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SERP feature types present for the keyword (only with include_serp_info)."
          },
          "serp_results_count": {
            "type": "integer",
            "description": "Number of organic results Google reports for the keyword."
          },
          "monthly_searches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordMonthlySearch"
            },
            "description": "Per-month search volume for the past 12 months (full view only)."
          },
          "last_updated_at": {
            "type": "string",
            "description": "When DataForSEO last refreshed the keyword metrics."
          }
        },
        "required": [
          "keyword"
        ]
      },
      "SeoKeywordsForSiteRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "Target domain, such as example.com or https://example.com. Returns keywords the domain is relevant for."
          },
          "location": {
            "$ref": "#/components/schemas/SeoKeywordsForSiteLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of keywords to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of keywords to skip from the start of the results."
          },
          "offset_token": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Pagination token from a previous response. When set, all other params except limit are ignored."
          },
          "include_subdomains": {
            "type": "boolean",
            "description": "When true (default), include keywords from subdomains of the target."
          },
          "include_serp_info": {
            "type": "boolean",
            "description": "When true, include SERP data (result count and SERP feature types) for each keyword. Can add source cost."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoKeywordView"
              },
              {
                "description": "Controls response size. summary keeps lean metrics, standard adds intent/bids/SERP context, full includes monthly trend data. Defaults to standard."
              }
            ]
          }
        },
        "required": [
          "target"
        ]
      },
      "SeoKeywordsForSiteLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoKeywordHistoryResponse": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Keywords echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordHistoryItem"
            },
            "description": "Historical metrics per keyword. Each keyword is one billable record."
          }
        },
        "required": [
          "keywords",
          "location",
          "language",
          "results"
        ]
      },
      "SeoKeywordHistoryItem": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "description": "Keyword phrase."
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordHistoryPoint"
            },
            "description": "Historical search-volume and Google Ads metrics, newest first."
          }
        },
        "required": [
          "keyword",
          "history"
        ]
      },
      "SeoKeywordHistoryPoint": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "description": "Year of the data point."
          },
          "month": {
            "type": "integer",
            "description": "Month of the data point (1-12)."
          },
          "search_volume": {
            "type": "integer",
            "description": "Average monthly search volume."
          },
          "cpc": {
            "type": "number",
            "description": "Average cost-per-click in USD."
          },
          "competition": {
            "type": "number",
            "description": "Google Ads competition index between 0 and 1."
          },
          "competition_level": {
            "type": "string",
            "description": "Google Ads competition level: LOW, MEDIUM, or HIGH."
          }
        },
        "required": [
          "year"
        ]
      },
      "SeoKeywordHistoryRequest": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "minItems": 1,
            "maxItems": 700,
            "description": "Keywords to look up (1-700). Returns historical metrics since 2019 for each."
          },
          "location": {
            "$ref": "#/components/schemas/SeoKeywordHistoryLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          }
        },
        "required": [
          "keywords"
        ]
      },
      "SeoKeywordHistoryLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoKeywordIdeasResponse": {
        "type": "object",
        "properties": {
          "seed_keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Seed keywords echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoKeywordView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of keyword ideas available for the request in DataForSEO's database."
          },
          "offset": {
            "type": "integer",
            "description": "Offset applied to the results."
          },
          "offset_token": {
            "type": "string",
            "description": "Pass this token as offset_token to fetch the next page of ideas."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordItem"
            },
            "description": "Keyword ideas with search volume, competition, difficulty, and intent. Each keyword is one billable record."
          }
        },
        "required": [
          "seed_keywords",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoKeywordIdeasRequest": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "minItems": 1,
            "maxItems": 200,
            "description": "Seed keywords (1-200). Returns search terms relevant to the product or service categories of these keywords."
          },
          "location": {
            "$ref": "#/components/schemas/SeoKeywordIdeasLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of keyword ideas to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of keyword ideas to skip from the start of the results."
          },
          "offset_token": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Pagination token from a previous response. When set, all other params except limit are ignored."
          },
          "closely_variants": {
            "type": "boolean",
            "description": "When true, use phrase-match search; when false (default), use broad-match search for wider ideas."
          },
          "ignore_synonyms": {
            "type": "boolean",
            "description": "When true, exclude highly similar keywords and return only core keywords."
          },
          "include_serp_info": {
            "type": "boolean",
            "description": "When true, include SERP data (result count and SERP feature types) for each keyword. Can add source cost."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoKeywordView"
              },
              {
                "description": "Controls response size. summary keeps lean metrics, standard adds intent/bids/SERP context, full includes monthly trend data. Defaults to standard."
              }
            ]
          }
        },
        "required": [
          "keywords"
        ]
      },
      "SeoKeywordIdeasLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoKeywordIntentResponse": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Keywords echoed from the request."
          },
          "language": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordIntentItem"
            },
            "description": "Search intent per keyword. Each keyword is one billable record."
          }
        },
        "required": [
          "keywords",
          "language",
          "results"
        ]
      },
      "SeoKeywordIntentItem": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "description": "Keyword phrase."
          },
          "search_intent": {
            "type": "string",
            "description": "Main search intent: informational, navigational, commercial, or transactional."
          },
          "probability": {
            "type": "number",
            "description": "Probability of the main search intent, where 1 is highest."
          },
          "secondary_intents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordIntentEntry"
            },
            "description": "Other likely search intents for the keyword with their probabilities."
          }
        },
        "required": [
          "keyword"
        ]
      },
      "SeoKeywordIntentEntry": {
        "type": "object",
        "properties": {
          "intent": {
            "type": "string",
            "description": "Search intent: informational, navigational, commercial, or transactional."
          },
          "probability": {
            "type": "number",
            "description": "Probability of this intent, where 1 is highest."
          }
        },
        "required": [
          "intent"
        ]
      },
      "SeoKeywordIntentRequest": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "minItems": 1,
            "maxItems": 1000,
            "description": "Keywords to classify (1-1000). Returns the search intent for each."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          }
        },
        "required": [
          "keywords"
        ]
      },
      "SeoKeywordOverviewResponse": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Keywords echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoKeywordView"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordItem"
            },
            "description": "Per-keyword metrics: search volume, CPC, competition, difficulty, and intent. Each keyword is one billable record."
          }
        },
        "required": [
          "keywords",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoKeywordOverviewRequest": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "minItems": 1,
            "maxItems": 700,
            "description": "Keywords to look up (1-700). Returns current metrics for each keyword."
          },
          "location": {
            "$ref": "#/components/schemas/SeoKeywordOverviewLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "include_serp_info": {
            "type": "boolean",
            "description": "When true, include SERP data (result count and SERP feature types) for each keyword. Can add source cost."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoKeywordView"
              },
              {
                "description": "Controls response size. summary keeps lean metrics, standard adds intent/bids/SERP context, full includes monthly trend data. Defaults to standard."
              }
            ]
          }
        },
        "required": [
          "keywords"
        ]
      },
      "SeoKeywordOverviewLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoRelatedKeywordsResponse": {
        "type": "object",
        "properties": {
          "seed_keyword": {
            "type": "string",
            "description": "Seed keyword echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoKeywordView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of related keywords available for the request in DataForSEO's database."
          },
          "offset": {
            "type": "integer",
            "description": "Offset applied to the results."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoRelatedKeywordItem"
            },
            "description": "Related keywords with search volume, competition, difficulty, intent, and their own related searches. Each keyword is one billable record."
          }
        },
        "required": [
          "seed_keyword",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoRelatedKeywordItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SeoKeywordItem"
          },
          {
            "type": "object",
            "properties": {
              "depth": {
                "type": "integer",
                "description": "Search depth at which this keyword was found, relative to the seed keyword."
              },
              "related_keywords": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Keywords from the 'searches related to' SERP element for this keyword."
              }
            }
          }
        ]
      },
      "SeoRelatedKeywordsRequest": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Seed keyword. Returns keywords from Google's 'searches related to' element."
          },
          "location": {
            "$ref": "#/components/schemas/SeoRelatedKeywordsLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "depth": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4,
            "description": "Keyword search depth, 0-4. Higher depth returns more keywords (1≈8, 2≈72, 3≈584, 4≈4680). Defaults to 1."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of related keywords to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of related keywords to skip from the start of the results."
          },
          "ignore_synonyms": {
            "type": "boolean",
            "description": "When true, exclude highly similar keywords and return only core keywords."
          },
          "include_serp_info": {
            "type": "boolean",
            "description": "When true, include SERP data (result count and SERP feature types) for each keyword. Can add source cost."
          },
          "include_seed_keyword": {
            "type": "boolean",
            "description": "When true, include metrics for the seed keyword in the response."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoKeywordView"
              },
              {
                "description": "Controls response size. summary keeps lean metrics, standard adds intent/bids/SERP context, full includes monthly trend data. Defaults to standard."
              }
            ]
          }
        },
        "required": [
          "keyword"
        ]
      },
      "SeoRelatedKeywordsLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoKeywordSuggestionsResponse": {
        "type": "object",
        "properties": {
          "seed_keyword": {
            "type": "string",
            "description": "Seed keyword echoed from the request."
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "view": {
            "$ref": "#/components/schemas/SeoKeywordView"
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of suggestions available for the request in DataForSEO's database."
          },
          "offset": {
            "type": "integer",
            "description": "Offset applied to the results."
          },
          "offset_token": {
            "type": "string",
            "description": "Pass this token as offset_token to fetch the next page of suggestions."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoKeywordItem"
            },
            "description": "Keyword suggestions with search volume, competition, difficulty, and intent. Each keyword is one billable record."
          }
        },
        "required": [
          "seed_keyword",
          "location",
          "language",
          "view",
          "results"
        ]
      },
      "SeoKeywordSuggestionsRequest": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Seed keyword. Returns long-tail search queries that include this keyword."
          },
          "location": {
            "$ref": "#/components/schemas/SeoKeywordSuggestionsLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of keyword suggestions to return. Defaults to 100."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of keyword suggestions to skip from the start of the results."
          },
          "offset_token": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Pagination token from a previous response. When set, all other params except limit are ignored."
          },
          "exact_match": {
            "type": "boolean",
            "description": "When true, return only suggestions that contain the exact seed keyword in the same word order."
          },
          "ignore_synonyms": {
            "type": "boolean",
            "description": "When true, exclude highly similar keywords and return only core keywords."
          },
          "include_serp_info": {
            "type": "boolean",
            "description": "When true, include SERP data (result count and SERP feature types) for each keyword. Can add source cost."
          },
          "include_seed_keyword": {
            "type": "boolean",
            "description": "When true, include metrics for the seed keyword in the response."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoKeywordView"
              },
              {
                "description": "Controls response size. summary keeps lean metrics, standard adds intent/bids/SERP context, full includes monthly trend data. Defaults to standard."
              }
            ]
          }
        },
        "required": [
          "keyword"
        ]
      },
      "SeoKeywordSuggestionsLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, or full location name. Defaults to us."
      },
      "SeoSerpResponse": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "device": {
            "type": "string",
            "enum": [
              "desktop",
              "mobile"
            ]
          },
          "os": {
            "$ref": "#/components/schemas/SeoSerpOs"
          },
          "view": {
            "$ref": "#/components/schemas/SeoSerpView"
          },
          "rank_window": {
            "$ref": "#/components/schemas/SeoSerpRankWindow"
          },
          "observed_at": {
            "type": "string"
          },
          "search_url": {
            "type": "string"
          },
          "total_results": {
            "type": "integer"
          },
          "serp_features": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "$ref": "#/components/schemas/SeoSerpSummary"
          },
          "questions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoSerpQuestion"
            },
            "description": "People Also Ask questions useful for SEO content-gap analysis."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoSerpResult"
            },
            "description": "SERP elements returned in source order. Organic results are billable; ads, reviews, people-also-ask, knowledge graph, and other rich elements are returned as free context."
          },
          "target": {
            "$ref": "#/components/schemas/SeoSerpTarget"
          },
          "competitors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoSerpCompetitor"
            },
            "description": "Organic result domains excluding the optional target domain. Omitted when results are truncated by balance."
          }
        },
        "required": [
          "query",
          "location",
          "language",
          "device",
          "view",
          "rank_window",
          "serp_features",
          "summary",
          "questions",
          "results"
        ]
      },
      "SeoSerpOs": {
        "type": "string",
        "enum": [
          "windows",
          "macos",
          "android",
          "ios"
        ]
      },
      "SeoSerpView": {
        "type": "string",
        "enum": [
          "summary",
          "standard",
          "full"
        ]
      },
      "SeoSerpRankWindow": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer"
          },
          "depth": {
            "type": "integer"
          },
          "start_rank": {
            "type": "integer"
          },
          "end_rank": {
            "type": "integer"
          },
          "rank_offset": {
            "type": "integer"
          }
        },
        "required": [
          "page",
          "depth",
          "start_rank",
          "end_rank",
          "rank_offset"
        ]
      },
      "SeoSerpSummary": {
        "type": "object",
        "properties": {
          "organic_results": {
            "type": "integer"
          },
          "billable_results": {
            "type": "integer"
          },
          "rich_results": {
            "type": "integer"
          },
          "paid_results": {
            "type": "integer"
          },
          "feature_counts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            }
          },
          "target_present": {
            "type": "boolean"
          },
          "target_best_rank": {
            "type": "integer"
          }
        },
        "required": [
          "organic_results",
          "billable_results",
          "rich_results",
          "paid_results",
          "feature_counts"
        ]
      },
      "SeoSerpQuestion": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string"
          },
          "rank": {
            "type": "integer"
          },
          "source": {
            "type": "string",
            "enum": [
              "people_also_ask"
            ]
          }
        },
        "required": [
          "question",
          "source"
        ]
      },
      "SeoSerpResult": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "integer"
          },
          "source_rank": {
            "type": "integer",
            "description": "Rank reported by DataForSEO before page offset adjustment."
          },
          "group_rank": {
            "type": "integer"
          },
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "snippet": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "markdown": {
            "type": "string"
          },
          "breadcrumb": {
            "type": "string"
          },
          "page": {
            "type": "integer"
          },
          "position": {
            "description": "SERP element position or alignment value returned by DataForSEO."
          },
          "rectangle": {
            "description": "Pixel rectangle data when include_pixel_rankings is requested."
          },
          "is_paid": {
            "type": "boolean"
          },
          "is_billable": {
            "type": "boolean",
            "description": "True for organic search result records that count toward billing."
          },
          "is_target": {
            "type": "boolean"
          },
          "questions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "People Also Ask questions extracted from this SERP element."
          },
          "nested_items": {
            "type": "array",
            "items": {}
          },
          "extras": {
            "$ref": "#/components/schemas/SeoSerpResultExtras"
          }
        },
        "required": [
          "type",
          "is_billable"
        ]
      },
      "SeoSerpResultExtras": {
        "type": "object",
        "additionalProperties": {},
        "description": "Additional fields for rich SERP elements."
      },
      "SeoSerpTarget": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "present": {
            "type": "boolean"
          },
          "best_rank": {
            "type": "integer"
          },
          "matches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoSerpResultRef"
            }
          }
        },
        "required": [
          "value",
          "present",
          "matches"
        ]
      },
      "SeoSerpResultRef": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "integer"
          },
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "SeoSerpCompetitor": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "best_rank": {
            "type": "integer"
          },
          "result_count": {
            "type": "integer"
          }
        },
        "required": [
          "domain",
          "result_count"
        ]
      },
      "SeoSerpRequest": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700,
            "description": "Search query to inspect."
          },
          "target": {
            "type": "string",
            "minLength": 1,
            "description": "Optional domain or URL to mark in the results, such as example.com or https://example.com/page."
          },
          "location": {
            "$ref": "#/components/schemas/SeoSerpLocation"
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Search language as an ISO code or full language name. Defaults to en."
          },
          "device": {
            "type": "string",
            "enum": [
              "desktop",
              "mobile"
            ],
            "description": "SERP device type. Defaults to desktop."
          },
          "os": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoSerpOs"
              },
              {
                "description": "Optional device operating system. Use windows/macos with desktop or android/ios with mobile."
              }
            ]
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "1-based Google result page to start from. Defaults to 1. Implemented with Google's start parameter and ranks are adjusted to global SERP positions."
          },
          "depth": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "description": "Organic result depth to crawl from the requested page. Defaults to 10. DataForSEO bills source in 10-result pages; UnifAPI bills returned billable organic records."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "description": "Number of organic results to return, matching the limit parameter used across other UnifAPI endpoints. Maps to DataForSEO depth and is used only when depth is omitted; defaults to 10."
          },
          "view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeoSerpView"
              },
              {
                "description": "Controls response size. summary keeps lean rank evidence, standard omits raw extras, full includes raw rich SERP context. Defaults to standard."
              }
            ]
          },
          "include_ai_overview": {
            "type": "boolean",
            "description": "When true, ask DataForSEO to load asynchronous Google AI Overview blocks in the organic SERP when available. This can add source cost."
          },
          "people_also_ask_depth": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4,
            "description": "Optional click depth for People Also Ask expansion. Useful for SEO content-gap research and can add source cost."
          },
          "include_pixel_rankings": {
            "type": "boolean",
            "description": "When true, request pixel rectangle data for above-the-fold and visual rank analysis. This can add source cost."
          },
          "viewport": {
            "$ref": "#/components/schemas/SeoSerpViewport"
          },
          "google_domain": {
            "type": "string",
            "minLength": 4,
            "maxLength": 80,
            "description": "Optional Google domain override such as google.co.uk or google.de."
          },
          "google_search_params": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "description": "Advanced Google search URL parameters such as nfpr=1. Prefer typed fields like page and include_omitted_results when available."
          },
          "include_omitted_results": {
            "type": "boolean",
            "description": "When true, adds filter=0 to inspect Google results that may otherwise be omitted. Useful for deep rank checks."
          },
          "remove_url_params": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "maxItems": 10,
            "description": "URL query parameters to remove from result URLs before matching, such as srsltid."
          },
          "expand_related_results": {
            "type": "boolean",
            "description": "When true, return related/sitelink-style organic results as separate organic elements instead of nesting them."
          },
          "stop_at_target": {
            "type": "boolean",
            "description": "When true and target is provided, stop crawling once the target is found. Useful for cheaper deep-rank checks, but later competitors may be omitted."
          },
          "target_match": {
            "$ref": "#/components/schemas/SeoSerpTargetMatch"
          },
          "target_search_mode": {
            "$ref": "#/components/schemas/SeoSerpTargetSearchMode"
          },
          "target_element_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeoSerpTargetElementType"
            },
            "maxItems": 8,
            "description": "SERP element types to inspect for stop_at_target matches. Defaults to all first-level URL/domain elements."
          }
        },
        "required": [
          "query"
        ]
      },
      "SeoSerpLocation": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        ],
        "description": "Search location as a country code/name, DataForSEO location code, full location name, or latitude,longitude,radius coordinate string. Defaults to us."
      },
      "SeoSerpViewport": {
        "type": "object",
        "properties": {
          "width": {
            "type": "integer",
            "minimum": 240,
            "maximum": 9999,
            "description": "Browser viewport width for pixel ranking calculations."
          },
          "height": {
            "type": "integer",
            "minimum": 240,
            "maximum": 9999,
            "description": "Browser viewport height for pixel ranking calculations."
          },
          "pixel_ratio": {
            "type": "number",
            "minimum": 0.5,
            "maximum": 3,
            "description": "Browser device pixel ratio for pixel ranking calculations."
          }
        },
        "description": "Viewport settings used only with include_pixel_rankings."
      },
      "SeoSerpTargetMatch": {
        "type": "string",
        "enum": [
          "domain",
          "with_subdomains",
          "wildcard"
        ],
        "description": "How stop_at_target should match the target. Defaults to with_subdomains."
      },
      "SeoSerpTargetSearchMode": {
        "type": "string",
        "enum": [
          "any",
          "all"
        ],
        "description": "When stop_at_target is true and multiple targets are used source, controls whether any or all targets stop the crawl. Defaults to any."
      },
      "SeoSerpTargetElementType": {
        "type": "string",
        "enum": [
          "organic",
          "paid",
          "local_pack",
          "featured_snippet",
          "events",
          "google_flights",
          "images",
          "jobs",
          "knowledge_graph",
          "local_service",
          "map",
          "scholarly_articles",
          "third_party_reviews",
          "twitter"
        ]
      },
      "ThreadsUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Threads URL slug (`username`)."
          },
          "user_id": {
            "type": "string",
            "description": "Numeric Threads pk; surfaced for callers that want to skip the gateway-side username → pk stitch."
          },
          "username": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "biography": {
            "type": "string"
          },
          "profile_pic_url": {
            "type": "string"
          },
          "follower_count": {
            "type": "number"
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_private": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "user_id",
          "username",
          "full_name",
          "biography",
          "profile_pic_url",
          "follower_count",
          "is_verified",
          "is_private"
        ]
      },
      "ThreadsPost": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Threads post code (URL slug)."
          },
          "code": {
            "type": "string"
          },
          "media_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "taken_at": {
            "type": "number"
          },
          "like_count": {
            "type": "number"
          },
          "image_url": {
            "type": "string"
          },
          "video_url": {
            "type": "string"
          },
          "user": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "username": {
                "type": "string"
              },
              "full_name": {
                "type": "string"
              },
              "profile_pic_url": {
                "type": "string"
              },
              "is_verified": {
                "type": "boolean"
              }
            },
            "required": [
              "id",
              "username",
              "full_name",
              "profile_pic_url",
              "is_verified"
            ]
          }
        },
        "required": [
          "id",
          "code",
          "media_id",
          "text",
          "taken_at",
          "like_count",
          "image_url",
          "video_url",
          "user"
        ]
      },
      "Video": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string",
            "description": "Per ADR 0004 Rule 6: TikTok title is the video description."
          },
          "video_description": {
            "type": "string"
          },
          "create_time": {
            "type": "integer",
            "description": "Unix epoch seconds"
          },
          "duration": {
            "type": "number",
            "description": "Seconds"
          },
          "cover_image_url": {
            "type": "string"
          },
          "share_url": {
            "type": "string",
            "description": "Tracking-param-stripped canonical URL"
          },
          "embed_link": {
            "type": "string"
          },
          "width": {
            "type": "integer"
          },
          "height": {
            "type": "integer"
          },
          "like_count": {
            "type": "integer"
          },
          "comment_count": {
            "type": "integer"
          },
          "share_count": {
            "type": "integer"
          },
          "view_count": {
            "type": "integer"
          },
          "author": {
            "$ref": "#/components/schemas/Author"
          },
          "region": {
            "type": [
              "string",
              "null"
            ]
          },
          "hashtags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "music": {
            "$ref": "#/components/schemas/Music"
          },
          "is_image_post": {
            "type": "boolean"
          },
          "play_url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "title",
          "video_description",
          "create_time",
          "duration",
          "cover_image_url",
          "share_url",
          "embed_link",
          "width",
          "height",
          "like_count",
          "comment_count",
          "share_count",
          "view_count",
          "author",
          "region",
          "hashtags",
          "music",
          "is_image_post",
          "play_url"
        ],
        "description": "A canonical TikTok video. Counts (`like_count`, etc.) are source snapshots and not guaranteed monotonic."
      },
      "Author": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Stable TikTok user id."
          },
          "username": {
            "type": "string",
            "description": "Public handle, e.g. 'jennmelon'"
          },
          "display_name": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "username",
          "display_name",
          "avatar_url"
        ],
        "description": "Lightweight author descriptor embedded in Video and Comment."
      },
      "Music": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Music id (string form to preserve precision)"
          },
          "title": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "is_original": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "title",
          "author",
          "is_original"
        ],
        "description": "Music track inlined inside a Video. `null` when the video has no sound track. For the full Music record see `MusicDetail`."
      },
      "Hashtag": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string",
            "description": "Hashtag name, without the leading #"
          },
          "description": {
            "type": "string"
          },
          "video_count": {
            "type": "integer"
          },
          "view_count": {
            "type": "integer"
          },
          "is_commerce": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "video_count",
          "view_count",
          "is_commerce"
        ],
        "description": "A TikTok hashtag."
      },
      "MusicDetail": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "cover_url": {
            "type": "string"
          },
          "duration": {
            "type": "number",
            "description": "Seconds"
          },
          "is_original": {
            "type": "boolean"
          },
          "play_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "user_count": {
            "type": "integer",
            "description": "Number of videos that used this music"
          }
        },
        "required": [
          "id",
          "title",
          "author",
          "cover_url",
          "duration",
          "is_original",
          "play_url",
          "user_count"
        ],
        "description": "Full music-track record. The smaller `Music` field on a Video is a subset of this."
      },
      "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Stable TikTok user id."
          },
          "username": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          },
          "bio": {
            "type": "string"
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_private": {
            "type": "boolean"
          },
          "follower_count": {
            "type": "integer"
          },
          "following_count": {
            "type": "integer"
          },
          "like_count": {
            "type": "integer",
            "description": "Total likes received across posts"
          },
          "video_count": {
            "type": "integer"
          },
          "region": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "username",
          "display_name",
          "avatar_url",
          "bio",
          "is_verified",
          "is_private",
          "follower_count",
          "following_count",
          "like_count",
          "video_count",
          "region"
        ],
        "description": "A canonical TikTok user profile. `id` may be TikTok sec_uid, numeric user id, or public handle."
      },
      "Comment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "video_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "create_time": {
            "type": "integer"
          },
          "like_count": {
            "type": "integer"
          },
          "reply_count": {
            "type": "integer"
          },
          "is_author_liked": {
            "type": "boolean"
          },
          "author": {
            "$ref": "#/components/schemas/Author"
          }
        },
        "required": [
          "id",
          "video_id",
          "text",
          "create_time",
          "like_count",
          "reply_count",
          "is_author_liked",
          "author"
        ],
        "description": "A top-level comment on a TikTok video. Replies are fetched via /tiktok/videos/{id}/comments/{comment_id}/replies."
      },
      "TwitterAutocompleteResult": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XUser"
            }
          },
          "topics": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "topic": {
                  "type": "string"
                },
                "score": {
                  "type": "number"
                }
              },
              "required": [
                "topic"
              ]
            }
          },
          "hashtags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cashtags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "query",
          "users",
          "topics",
          "hashtags",
          "cashtags"
        ]
      },
      "XUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "profile_image_url": {
            "type": "string"
          },
          "profile_banner_url": {
            "type": "string"
          },
          "protected": {
            "type": "boolean"
          },
          "verified": {
            "type": "boolean"
          },
          "verified_type": {
            "type": "string"
          },
          "pinned_tweet_id": {
            "type": "string"
          },
          "public_metrics": {
            "$ref": "#/components/schemas/XPublicMetrics"
          }
        },
        "required": [
          "id",
          "name",
          "username"
        ]
      },
      "XPublicMetrics": {
        "type": "object",
        "properties": {
          "followers_count": {
            "type": "number"
          },
          "following_count": {
            "type": "number"
          },
          "tweet_count": {
            "type": "number"
          },
          "listed_count": {
            "type": "number"
          },
          "like_count": {
            "type": "number"
          },
          "retweet_count": {
            "type": "number"
          },
          "reply_count": {
            "type": "number"
          },
          "quote_count": {
            "type": "number"
          },
          "bookmark_count": {
            "type": "number"
          },
          "impression_count": {
            "type": "number"
          }
        }
      },
      "XTweet": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "text": {
            "type": "string"
          },
          "author_id": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "conversation_id": {
            "type": "string"
          },
          "lang": {
            "type": "string"
          },
          "possibly_sensitive": {
            "type": "boolean"
          },
          "public_metrics": {
            "$ref": "#/components/schemas/XPublicMetrics"
          },
          "attachments": {
            "type": "object",
            "properties": {
              "media_keys": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "media_keys"
            ]
          },
          "edit_history_tweet_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "author": {
            "$ref": "#/components/schemas/XUser"
          },
          "media": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XMedia"
            }
          }
        },
        "required": [
          "id",
          "text"
        ]
      },
      "XMedia": {
        "type": "object",
        "properties": {
          "media_key": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "preview_image_url": {
            "type": "string"
          },
          "height": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "duration_ms": {
            "type": "number"
          },
          "variants": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "bit_rate": {
                  "type": "number"
                },
                "content_type": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "required": [
                "url"
              ]
            }
          }
        },
        "required": [
          "type"
        ]
      },
      "XCommunity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "member_count": {
            "type": "number"
          },
          "access": {
            "type": "string"
          },
          "join_policy": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "TwitterRelationship": {
        "type": "object",
        "properties": {
          "source_id": {
            "type": "string"
          },
          "source_username": {
            "type": "string"
          },
          "target_id": {
            "type": "string"
          },
          "target_username": {
            "type": "string"
          },
          "following": {
            "type": "boolean"
          },
          "followed_by": {
            "type": "boolean"
          },
          "raw": {}
        }
      },
      "XList": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "member_count": {
            "type": "number"
          },
          "follower_count": {
            "type": "number"
          },
          "private": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "XTrend": {
        "type": "object",
        "properties": {
          "trend_name": {
            "type": "string"
          },
          "tweet_count": {
            "type": "number"
          },
          "rank": {
            "type": "number"
          },
          "query": {
            "type": "string"
          }
        },
        "required": [
          "trend_name"
        ]
      },
      "TwitterArticle": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "author_id": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "raw": {}
        },
        "required": [
          "id",
          "text"
        ]
      },
      "TwitterTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "raw": {}
        },
        "required": [
          "id",
          "language",
          "text"
        ]
      },
      "XId": {
        "type": "string",
        "minLength": 1
      },
      "YouTubeCommunityPost": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "text": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "author_channel_id": {
            "type": "string"
          },
          "author_handle": {
            "type": "string"
          },
          "published_time": {
            "type": "string"
          },
          "vote_count": {
            "type": "number",
            "description": "Best-effort like/vote count (e.g. parsed from `15K`)."
          },
          "reply_count": {
            "type": "number"
          },
          "attachment_type": {
            "type": "string",
            "description": "Attachment kind when present: `image`, `multi_image`, `video`, `poll`, …"
          },
          "image_url": {
            "type": "string",
            "description": "Representative attachment image url, when the post has one."
          }
        },
        "required": [
          "id",
          "text",
          "author",
          "author_channel_id",
          "author_handle",
          "published_time",
          "vote_count",
          "reply_count",
          "attachment_type",
          "image_url"
        ]
      },
      "YouTubePlaylistPreview": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string"
          },
          "channel_id": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "video_count": {
            "type": "number"
          },
          "thumbnail_url": {
            "type": "string"
          },
          "first_video_id": {
            "type": "string",
            "description": "Id of the playlist's cover/first video, when present."
          }
        },
        "required": [
          "id",
          "title",
          "channel_id",
          "author",
          "video_count",
          "thumbnail_url",
          "first_video_id"
        ]
      },
      "YouTubeChannel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "YouTube channel id (`UCxxx`)."
          },
          "title": {
            "type": "string"
          },
          "handle": {
            "type": "string",
            "description": "Channel handle, e.g. `@LinusTechTips` (empty when unavailable)."
          },
          "description": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          },
          "banner_url": {
            "type": "string"
          },
          "subscriber_count": {
            "type": "number"
          },
          "video_count": {
            "type": "number"
          },
          "view_count": {
            "type": "number"
          },
          "country": {
            "type": "string"
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Channel topic keywords/tags."
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/YouTubeChannelLink"
            },
            "description": "External links published on the channel."
          },
          "is_verified": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "description": "Source creation date string (passed through)."
          }
        },
        "required": [
          "id",
          "title",
          "handle",
          "description",
          "avatar_url",
          "banner_url",
          "subscriber_count",
          "video_count",
          "view_count",
          "country",
          "keywords",
          "links",
          "is_verified",
          "created_at"
        ]
      },
      "YouTubeChannelLink": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ]
      },
      "YouTubeVideoPreview": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "YouTube video id (e.g. `oaSNBz4qMQY`)."
          },
          "title": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "channel_id": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "number"
          },
          "view_count": {
            "type": "number"
          },
          "published_time": {
            "type": "string",
            "description": "Relative time string from source (e.g. `3 weeks ago`)."
          },
          "is_live": {
            "type": "boolean"
          },
          "category": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "author",
          "channel_id",
          "description",
          "duration_seconds",
          "view_count",
          "published_time",
          "is_live",
          "category"
        ]
      },
      "YouTubePlaylist": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "YouTube playlist id (`PL…`)."
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "channel_id": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "video_count": {
            "type": "number"
          },
          "view_count": {
            "type": "number"
          },
          "thumbnail_url": {
            "type": "string"
          },
          "last_updated": {
            "type": "string",
            "description": "Source last-updated string (e.g. `Last updated on …`)."
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "channel_id",
          "author",
          "video_count",
          "view_count",
          "thumbnail_url",
          "last_updated"
        ]
      },
      "YouTubeChannelPreview": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string"
          },
          "handle": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "thumbnail_url": {
            "type": "string"
          },
          "subscriber_count": {
            "type": "number"
          },
          "video_count": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "title",
          "handle",
          "description",
          "thumbnail_url",
          "subscriber_count",
          "video_count"
        ]
      },
      "YouTubeCaptions": {
        "type": "object",
        "properties": {
          "video_id": {
            "type": "string"
          },
          "tracks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/YouTubeCaptionTrack"
            }
          },
          "translation_languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/YouTubeTranslationLanguage"
            }
          }
        },
        "required": [
          "video_id",
          "tracks",
          "translation_languages"
        ]
      },
      "YouTubeCaptionTrack": {
        "type": "object",
        "properties": {
          "language_name": {
            "type": "string"
          },
          "language_code": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "Timed-text url for the caption track (time-limited)."
          },
          "is_translatable": {
            "type": "boolean"
          }
        },
        "required": [
          "language_name",
          "language_code",
          "url",
          "is_translatable"
        ]
      },
      "YouTubeTranslationLanguage": {
        "type": "object",
        "properties": {
          "language_code": {
            "type": "string"
          },
          "language_name": {
            "type": "string"
          }
        },
        "required": [
          "language_code",
          "language_name"
        ]
      },
      "YouTubeComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "text": {
            "type": "string"
          },
          "author": {
            "type": "string",
            "description": "Comment author handle, e.g. `@username`."
          },
          "author_channel_id": {
            "type": "string"
          },
          "author_thumbnail_url": {
            "type": "string"
          },
          "like_count": {
            "type": "number"
          },
          "reply_count": {
            "type": "number"
          },
          "published_time": {
            "type": "string",
            "description": "Relative time string from source (e.g. `2 years ago`)."
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_creator": {
            "type": "boolean",
            "description": "True when the comment author owns the video's channel."
          }
        },
        "required": [
          "id",
          "text",
          "author",
          "author_channel_id",
          "author_thumbnail_url",
          "like_count",
          "reply_count",
          "published_time",
          "is_verified",
          "is_creator"
        ]
      },
      "YouTubeVideo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "channel_id": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "number"
          },
          "view_count": {
            "type": "number"
          },
          "like_count": {
            "type": "number",
            "description": "Best-effort like count (0 when hidden by the creator)."
          },
          "category": {
            "type": "string"
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "thumbnail_url": {
            "type": "string"
          },
          "published_at": {
            "type": "string",
            "description": "Source publish timestamp string (passed through)."
          },
          "has_captions": {
            "type": "boolean"
          },
          "is_live": {
            "type": "boolean"
          },
          "is_private": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "channel_id",
          "author",
          "duration_seconds",
          "view_count",
          "like_count",
          "category",
          "keywords",
          "thumbnail_url",
          "published_at",
          "has_captions",
          "is_live",
          "is_private"
        ]
      },
      "YouTubeTranscript": {
        "type": "object",
        "properties": {
          "video_id": {
            "type": "string"
          },
          "language_code": {
            "type": "string",
            "description": "Language code of the returned transcript track."
          },
          "language_name": {
            "type": "string"
          },
          "available_languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/YouTubeTranslationLanguage"
            },
            "description": "Every caption track available for the video, for a language picker."
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/YouTubeTranscriptSegment"
            }
          },
          "text": {
            "type": "string",
            "description": "The full transcript as plain text, segments joined by spaces."
          }
        },
        "required": [
          "video_id",
          "language_code",
          "language_name",
          "available_languages",
          "segments",
          "text"
        ],
        "description": "A YouTube video's transcript: the timed-text of one caption track parsed into ordered segments plus a concatenated plain-text field."
      },
      "YouTubeTranscriptSegment": {
        "type": "object",
        "properties": {
          "start": {
            "type": "number",
            "description": "Segment start time, in seconds from the video start."
          },
          "dur": {
            "type": "number",
            "description": "Segment duration in seconds (0 when the source omits it)."
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "start",
          "dur",
          "text"
        ]
      }
    },
    "parameters": {
      "UnifapiVersion": {
        "name": "Unifapi-Version",
        "in": "header",
        "required": false,
        "description": "Pin the API version an integration was built against (date-based, e.g. `2026-07-01`). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with `Deprecation` and `Sunset` response headers. The served version is echoed in every response's `Unifapi-Version` header. Policy: https://unifapi.com/versioning.md",
        "schema": {
          "type": "string",
          "default": "2026-07-01",
          "enum": [
            "2026-07-01"
          ]
        }
      },
      "IdempotencyKey": {
        "name": "Idempotency-Key",
        "in": "header",
        "required": false,
        "description": "Client-supplied unique key that makes a write request safe to retry. If a request with the same key was already processed, the original response is replayed (with `Idempotency-Replayed: true`) instead of executing — and billing — again. Send a fresh UUID per logical operation. Best-effort with a 24h window.",
        "schema": {
          "type": "string",
          "maxLength": 255
        }
      }
    }
  },
  "paths": {
    "/browser/html": {
      "post": {
        "operationId": "postBrowserHtml",
        "summary": "Render a page to HTML",
        "description": "Render a URL in a headless browser and return the fully rendered HTML after JavaScript execution — use it to read meta tags, structured data, and content that only appears after client-side rendering.",
        "tags": [
          "browser"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrowserHtmlRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BrowserHtmlResult"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/browser/links": {
      "post": {
        "operationId": "postBrowserLinks",
        "summary": "Extract links from a page",
        "description": "Render a URL in a headless browser and return every link on the page as absolute URLs, including links injected by JavaScript. Optionally restrict to visible links or same-domain links for internal-link and broken-link audits.",
        "tags": [
          "browser"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrowserLinksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BrowserLinksResult"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/browser/markdown": {
      "post": {
        "operationId": "postBrowserMarkdown",
        "summary": "Render a page to Markdown",
        "description": "Render a URL in a headless browser (running JavaScript) and return the page as clean Markdown — ideal for content analysis, summarization, and feeding pages to language models.",
        "tags": [
          "browser"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrowserMarkdownRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BrowserMarkdownResult"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/browser/screenshot": {
      "post": {
        "operationId": "postBrowserScreenshot",
        "summary": "Capture a page screenshot",
        "description": "Render a URL in a headless browser and capture a screenshot, returned as a base64-encoded image. Control the viewport, capture the full scrollable page, target a CSS selector, and choose png, jpeg, or webp output.",
        "tags": [
          "browser"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrowserScreenshotRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BrowserScreenshotResult"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/events/search": {
      "post": {
        "operationId": "postEventsSearch",
        "summary": "Search Events",
        "description": "Run one live Events search and receive individual events for a query, including title, dates, venue location, ticket links, and a description.",
        "tags": [
          "events"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventsSearchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventsSearchResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/geo/keywords/search-volume": {
      "post": {
        "operationId": "postGeoKeywordsSearchVolume",
        "summary": "Get AI search volume for keywords",
        "description": "Look up generative-AI search volume and monthly trend for up to 1000 keywords in a location and language.",
        "tags": [
          "geo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoKeywordSearchVolumeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GeoKeywordSearchVolumeResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/geo/mentions/aggregated-metrics": {
      "post": {
        "operationId": "postGeoMentionsAggregatedMetrics",
        "summary": "Aggregate LLM mention metrics by dimension",
        "description": "Aggregate LLM mentions of a domain or keyword across platform, location, language, source/search-result domains, and brand entities.",
        "tags": [
          "geo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 500
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoMentionsAggregatedMetricsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GeoMentionsAggregatedMetricsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/geo/mentions/cross-aggregated-metrics": {
      "post": {
        "operationId": "postGeoMentionsCrossAggregatedMetrics",
        "summary": "Compare LLM mentions across labeled groups",
        "description": "Aggregate and compare LLM mention metrics across several labeled target groups for side-by-side share-of-voice analysis.",
        "tags": [
          "geo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 500
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoMentionsCrossAggregatedMetricsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GeoMentionsCrossAggregatedMetricsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/geo/mentions/search": {
      "post": {
        "operationId": "postGeoMentionsSearch",
        "summary": "Search LLM mentions of a domain or keyword",
        "description": "Find where a domain or keyword is mentioned across ChatGPT and AI search answers, with the question, answer, cited sources, and AI search volume.",
        "tags": [
          "geo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 500
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoMentionsSearchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GeoMentionsSearchResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/geo/mentions/top-domains": {
      "post": {
        "operationId": "postGeoMentionsTopDomains",
        "summary": "List domains most cited in LLM answers",
        "description": "Rank the domains most frequently cited as sources in LLM answers for a target domain or keyword, with per-dimension breakdowns.",
        "tags": [
          "geo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 500
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoMentionsTopDomainsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GeoMentionsTopDomainsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/geo/mentions/top-pages": {
      "post": {
        "operationId": "postGeoMentionsTopPages",
        "summary": "List pages most cited in LLM answers",
        "description": "Rank the pages most frequently cited as sources in LLM answers for a target domain or keyword, with per-dimension breakdowns.",
        "tags": [
          "geo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 500
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoMentionsTopPagesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GeoMentionsTopPagesResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/geo/serp": {
      "post": {
        "operationId": "postGeoSerp",
        "summary": "Search AI Mode generative results",
        "description": "Run one live AI Mode search for generative answer evidence, cited sources, and target-domain visibility.",
        "tags": [
          "geo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoSerpRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GeoSerpResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/hacker-news/items/{id}": {
      "get": {
        "operationId": "getHackerNewsItemsById",
        "summary": "Get Hacker News item by ID",
        "description": "Fetch a single Hacker News item. Stories, comments, jobs, polls, and poll options share the same item shape.",
        "tags": [
          "hacker-news"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 0,
          "minimum_credits": 0
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "description": "Hacker News item id."
            },
            "required": true,
            "description": "Hacker News item id.",
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/HackerNewsItem"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hacker-news/max-item": {
      "get": {
        "operationId": "getHackerNewsMaxItem",
        "summary": "Get largest Hacker News item ID",
        "description": "Return the ID of the most recently created Hacker News item. Useful as an upper bound for walking the full item range or detecting new activity since a previous poll.",
        "tags": [
          "hacker-news"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 0,
          "minimum_credits": 0
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "integer"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ]
      }
    },
    "/hacker-news/stories/{feed}/items": {
      "get": {
        "operationId": "getHackerNewsStoriesByFeedItems",
        "summary": "List Hacker News story items",
        "description": "Fetch item details from a named Hacker News story feed in one operation. Use this when an agent needs readable story titles, URLs, scores, authors, or comment counts.",
        "tags": [
          "hacker-news"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 0,
          "minimum_credits": 0
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "$ref": "#/components/schemas/HackerNewsStoryFeed"
            },
            "required": true,
            "description": "Story feed: top, new, best, ask, show, or jobs.",
            "name": "feed",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "description": "Zero-based offset cursor returned as `next_cursor`."
            },
            "required": false,
            "description": "Zero-based offset cursor returned as `next_cursor`.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HackerNewsItem"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hacker-news/stories/{feed}": {
      "get": {
        "operationId": "getHackerNewsStoriesByFeed",
        "summary": "List Hacker News story IDs",
        "description": "List Hacker News story ids from a named feed. Use `/hacker-news/items/{id}` to fetch item details.",
        "tags": [
          "hacker-news"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 0,
          "minimum_credits": 0
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "$ref": "#/components/schemas/HackerNewsStoryFeed"
            },
            "required": true,
            "description": "Story feed: top, new, best, ask, show, or jobs.",
            "name": "feed",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "description": "Zero-based offset cursor returned as `next_cursor`."
            },
            "required": false,
            "description": "Zero-based offset cursor returned as `next_cursor`.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 100
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hacker-news/updates": {
      "get": {
        "operationId": "getHackerNewsUpdates",
        "summary": "Get changed Hacker News items and profiles",
        "description": "Return the IDs of recently changed Hacker News items and user profiles. Useful for incrementally syncing only what changed since the last poll instead of re-fetching everything.",
        "tags": [
          "hacker-news"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 0,
          "minimum_credits": 0
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/HackerNewsUpdates"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ]
      }
    },
    "/hacker-news/users/{id}": {
      "get": {
        "operationId": "getHackerNewsUsersById",
        "summary": "Get Hacker News user by ID",
        "description": "Return a public Hacker News user profile by case-sensitive username, including karma, account creation date, and the about text. Useful for attributing stories and comments and profiling contributors.",
        "tags": [
          "hacker-news"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 0,
          "minimum_credits": 0
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Case-sensitive Hacker News username."
            },
            "required": true,
            "description": "Case-sensitive Hacker News username.",
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/HackerNewsUser"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hotels/info": {
      "post": {
        "operationId": "postHotelsInfo",
        "summary": "Get Hotels detail",
        "description": "Run one live Hotels detail lookup for a hotel id from /hotels/search and receive the full profile, including class rating, address, phone, description, guest reviews, images, and prices.",
        "tags": [
          "hotels"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HotelInfoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/HotelInfoResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/hotels/search": {
      "post": {
        "operationId": "postHotelsSearch",
        "summary": "Search Hotels",
        "description": "Run one live Hotels search and receive ranked hotel listings for a location and stay dates, including hotel id, class rating, guest reviews, and nightly prices. Pass a hotel id to /hotels/info for full details.",
        "tags": [
          "hotels"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HotelSearchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/HotelSearchResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/instagram/explore": {
      "get": {
        "operationId": "getInstagramExplore",
        "summary": "Browse Instagram's Explore feed",
        "description": "Return a flattened feed of posts from Instagram's Explore tab — the algorithmic discovery surface — as a paginated list. Useful for sampling trending and recommended public content across the platform.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/locations/{id}/nearby": {
      "get": {
        "operationId": "getInstagramLocationsByIdNearby",
        "summary": "List Instagram locations geographically near a given location",
        "description": "Return the Instagram location pages geographically near a given location ID, as a fixed set of nearby map pins. Useful for local discovery and clustering place-tagged content by area.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/InstagramLocationLite"
                          }
                        }
                      },
                      "required": [
                        "items"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/locations/{id}/posts": {
      "get": {
        "operationId": "getInstagramLocationsByIdPosts",
        "summary": "List posts tagged with an Instagram location",
        "description": "Return the posts tagged with a given Instagram location, by location ID, as a paginated list. Useful for local content monitoring, event coverage, and place-based audience research.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "ranked",
                "recent"
              ],
              "description": "Which tab to fetch — `ranked` (top) or `recent` (latest)."
            },
            "required": false,
            "description": "Which tab to fetch — `ranked` (top) or `recent` (latest).",
            "name": "tab",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/locations/{id}": {
      "get": {
        "operationId": "getInstagramLocationsById",
        "summary": "Get an Instagram location by id",
        "description": "Return an Instagram location page by its ID, including its name, coordinates, and category. Useful for resolving a place before pulling its tagged posts or nearby locations.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Numeric Instagram location id."
            },
            "required": true,
            "description": "Numeric Instagram location id.",
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/InstagramLocation"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/posts/{shortcode}/comments/{commentId}/replies": {
      "get": {
        "operationId": "getInstagramPostsByShortcodeCommentsByCommentIdReplies",
        "summary": "List replies to an Instagram comment",
        "description": "Return the replies to a specific comment on an Instagram post, identified by the post shortcode and comment ID, as a paginated list. Useful for following threaded conversations and analyzing audience discussion.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "shortcode",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "commentId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramComment"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/posts/{shortcode}/comments": {
      "get": {
        "operationId": "getInstagramPostsByShortcodeComments",
        "summary": "List comments on an Instagram post",
        "description": "Return the comments on an Instagram post by its shortcode, as a cursor-paginated list. Useful for analyzing audience response and sentiment around a post.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "shortcode",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "popular",
                "newest"
              ]
            },
            "required": false,
            "name": "sort",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramComment"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/posts/{shortcode}": {
      "get": {
        "operationId": "getInstagramPostsByShortcode",
        "summary": "Get an Instagram post (photo / video / carousel / reel) by shortcode",
        "description": "`shortcode` is the slug from the post URL, e.g. `DUajw4YkorV` in `instagram.com/p/DUajw4YkorV/`.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "shortcode",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/InstagramPost"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/reels/recommended": {
      "get": {
        "operationId": "getInstagramReelsRecommended",
        "summary": "Browse Instagram's recommended Reels feed",
        "description": "Return posts from Instagram's algorithmic recommended Reels feed, as a paginated list. Useful for sampling trending short-form video and discovering surfacing creators.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/resolve/media-id": {
      "get": {
        "operationId": "getInstagramResolveMediaId",
        "summary": "Convert an Instagram post shortcode into its numeric media_id",
        "description": "Convert an Instagram post shortcode into its numeric `media_id`. A lookup helper — useful for pre-resolving and caching the ID that some media-level operations require.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "shortcode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "shortcode": {
                          "type": "string"
                        },
                        "media_id": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "shortcode",
                        "media_id"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/resolve/shortcode-from-media": {
      "get": {
        "operationId": "getInstagramResolveShortcodeFromMedia",
        "summary": "Convert an Instagram numeric media_id into its shortcode",
        "description": "Convert a numeric Instagram `media_id` back into its post shortcode — the inverse of the shortcode-to-media-id lookup. Useful for reconstructing shareable post URLs from stored IDs.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "media_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "media_id": {
                          "type": "string"
                        },
                        "shortcode": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "media_id",
                        "shortcode"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/resolve/shortcode": {
      "get": {
        "operationId": "getInstagramResolveShortcode",
        "summary": "Extract a post shortcode from an Instagram URL",
        "description": "Extract the post shortcode from a full Instagram post URL (e.g. `instagram.com/p/<shortcode>`). A lookup helper — useful for normalizing user-supplied links before fetching a post.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "required": true,
            "name": "url",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string"
                        },
                        "shortcode": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url",
                        "shortcode"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/resolve/user-id": {
      "get": {
        "operationId": "getInstagramResolveUserId",
        "summary": "Convert an Instagram username into its numeric user_id (pk)",
        "description": "Convert an Instagram username into its numeric user ID. A lookup helper — useful for pre-resolving and caching the ID so later profile and media calls skip the extra resolution step.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "username": {
                          "type": "string"
                        },
                        "user_id": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "username",
                        "user_id"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/search": {
      "get": {
        "operationId": "getInstagramSearch",
        "summary": "Cross-type Instagram search (posts/reels)",
        "description": "Search Instagram across content types (posts and reels) by query string, returning matching results as a paginated list. Useful for keyword, hashtag, and topic discovery on the platform.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword."
            },
            "required": true,
            "description": "Search keyword.",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/users/{username}/followers": {
      "get": {
        "operationId": "getInstagramUsersByUsernameFollowers",
        "summary": "List followers of an Instagram user",
        "description": "Return the accounts that follow a given Instagram user, by username, as a paginated list of profiles. Useful for audience analysis and mapping a creator's or brand's following.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramUserPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/users/{username}/following": {
      "get": {
        "operationId": "getInstagramUsersByUsernameFollowing",
        "summary": "List accounts an Instagram user follows",
        "description": "Return the accounts a given Instagram user follows, by username, as a paginated list of profiles. Useful for mapping an account's interest graph and the people it engages with.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramUserPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/users/{username}/former-usernames": {
      "get": {
        "operationId": "getInstagramUsersByUsernameFormerUsernames",
        "summary": "List former usernames for an Instagram user",
        "description": "Return the former usernames an Instagram account has used, surfaced from Instagram's account-transparency information. Useful for identity verification and tracking rebrands.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramFormerUsername"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/users/{username}/highlights": {
      "get": {
        "operationId": "getInstagramUsersByUsernameHighlights",
        "summary": "List Instagram highlight reels for a user (metadata only)",
        "description": "Return the metadata for an Instagram user's highlight reels (titles and covers); the stories inside each highlight are not included. Useful for cataloging a profile's pinned highlights.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramHighlight"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/users/{username}/posts": {
      "get": {
        "operationId": "getInstagramUsersByUsernamePosts",
        "summary": "List feed posts authored by an Instagram user",
        "description": "Return the feed posts authored by an Instagram user, by username, as a paginated list. Useful for profiling a creator's content, monitoring a brand, or building an archive.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/users/{username}/reels": {
      "get": {
        "operationId": "getInstagramUsersByUsernameReels",
        "summary": "List reels authored by an Instagram user",
        "description": "Return the reels (short-form videos) authored by an Instagram user, by username, as a paginated list. Useful for analyzing a creator's video output and performance.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/users/{username}": {
      "get": {
        "operationId": "getInstagramUsersByUsername",
        "summary": "Get an Instagram user profile by username",
        "description": "Return the canonical public Instagram profile for a username — display name, bio, follower and following counts, post count, verification status, and profile picture. Useful as the entry point for any account-level research.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Instagram URL slug, e.g. `instagram`"
            },
            "required": true,
            "description": "Instagram URL slug, e.g. `instagram`",
            "name": "username",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/InstagramUser"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/users/{username}/stories": {
      "get": {
        "operationId": "getInstagramUsersByUsernameStories",
        "summary": "List active Instagram stories for a user",
        "description": "Returns the user's currently-live story tray (empty when the user has no active stories).",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/instagram/users/{username}/tagged-posts": {
      "get": {
        "operationId": "getInstagramUsersByUsernameTaggedPosts",
        "summary": "List posts an Instagram user is tagged in",
        "description": "Return the posts a given Instagram user is tagged in, by username, as a paginated list. Useful for tracking brand mentions, collaborations, and user-generated content.",
        "tags": [
          "instagram"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstagramPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/ads/{id}": {
      "get": {
        "operationId": "getLinkedinAdsById",
        "summary": "Get a LinkedIn Ad Library entry by ID",
        "description": "Return a single entry from the LinkedIn Ad Library by its ID, including the ad creative, the advertiser, and the targeting and delivery details LinkedIn publishes for transparency. Useful for competitive ad research and verifying a specific sponsored campaign.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkedinAd"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/companies/{slug}/affiliated": {
      "get": {
        "operationId": "getLinkedinCompaniesBySlugAffiliated",
        "summary": "List a LinkedIn company's affiliated pages",
        "description": "Return the affiliated and showcase pages linked to a LinkedIn company, resolved from its URL slug — the full set is returned in one response, without pagination. Useful for mapping a brand's sub-pages, product lines, and regional entities.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "slug",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinAffiliatedPage"
                      }
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/companies/{slug}/job-count": {
      "get": {
        "operationId": "getLinkedinCompaniesBySlugJobCount",
        "summary": "Get the number of active jobs at a LinkedIn company",
        "description": "Return the total count of active job postings on a LinkedIn company page, resolved from its URL slug. Useful as a lightweight hiring-velocity signal for tracking a company's growth or a competitor's headcount expansion.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "slug",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkedinJobCount"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/companies/{slug}/jobs": {
      "get": {
        "operationId": "getLinkedinCompaniesBySlugJobs",
        "summary": "List active job postings at a LinkedIn company",
        "description": "Return the active job postings published on a LinkedIn company page, resolved from its URL slug. Useful for monitoring a company's open roles, hiring focus, and team-by-team expansion.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "slug",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinJobListing"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/companies/{slug}/member-insights": {
      "get": {
        "operationId": "getLinkedinCompaniesBySlugMemberInsights",
        "summary": "Get a LinkedIn company's aggregated member insights",
        "description": "Return the aggregated, employee-derived insights LinkedIn surfaces on a company page — such as where employees live, what they studied, and their common skills. Useful for talent-pool mapping and competitor workforce analysis.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "slug",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinMemberInsight"
                      }
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/companies/{slug}/people": {
      "get": {
        "operationId": "getLinkedinCompaniesBySlugPeople",
        "summary": "List employees of a LinkedIn company",
        "description": "Return the people who list a given LinkedIn company on their profile, resolved from the company's URL slug, as a paginated list. Useful for org mapping, sales prospecting, and recruiting research.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "slug",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinUserPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/companies/{slug}/posts": {
      "get": {
        "operationId": "getLinkedinCompaniesBySlugPosts",
        "summary": "List posts published by a LinkedIn company page",
        "description": "Return the posts published from a LinkedIn company's page, resolved from its URL slug, as a paginated list. Useful for tracking a brand's content cadence, announcements, and messaging.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "slug",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/companies/{slug}": {
      "get": {
        "operationId": "getLinkedinCompaniesBySlug",
        "summary": "Get a LinkedIn company profile by URL slug",
        "description": "Return a canonicalized LinkedIn company profile by its URL slug (`universal_name`, e.g. `microsoft`), including description, industry, size, headquarters, and the numeric `company_id` that related endpoints use. Useful as the entry point for any company-level research.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "LinkedIn URL slug (universal_name), e.g. `microsoft`"
            },
            "required": true,
            "description": "LinkedIn URL slug (universal_name), e.g. `microsoft`",
            "name": "slug",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkedinCompany"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/groups/{id}/posts": {
      "get": {
        "operationId": "getLinkedinGroupsByIdPosts",
        "summary": "List posts in a LinkedIn group",
        "description": "Return the posts shared in a LinkedIn group by its ID, as a paginated list. Useful for monitoring discussion and content within a professional community.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/groups/{id}": {
      "get": {
        "operationId": "getLinkedinGroupsById",
        "summary": "Get a LinkedIn group by ID",
        "description": "Return a LinkedIn group's public metadata by its ID, including name, description, and member count. Useful for resolving a group's profile before pulling its posts.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkedinGroup"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/jobs/{id}": {
      "get": {
        "operationId": "getLinkedinJobsById",
        "summary": "Get a LinkedIn job posting by ID",
        "description": "Return a single LinkedIn job posting by its ID — title, company, location, and description, plus the inferred required-skills list when `include_skills` is set. Useful for enriching a job listing or analyzing role requirements.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "required": false,
            "name": "include_skills",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkedinJob"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/posts/{id}/comments/{comment_id}/replies": {
      "get": {
        "operationId": "getLinkedinPostsByIdCommentsByCommentIdReplies",
        "summary": "List replies to a LinkedIn comment",
        "description": "`cursor` here is LinkedIn's `previous_replies_token`. On the first page, send no cursor — LinkedIn's source still expects the param, so the gateway passes `-` as the sentinel it documents.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "comment_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinComment"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/posts/{id}/comments": {
      "get": {
        "operationId": "getLinkedinPostsByIdComments",
        "summary": "List top-level comments on a LinkedIn post",
        "description": "Return the top-level comments on a LinkedIn post by its ID, as a paginated list. Useful for analyzing audience response and surfacing the conversation around a post.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinComment"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/posts/{id}/reactions": {
      "get": {
        "operationId": "getLinkedinPostsByIdReactions",
        "summary": "List users who reacted to a LinkedIn post",
        "description": "Return the users who reacted to a LinkedIn post (liked, celebrated, supported, and so on), with each reaction type, as a paginated list. Useful for measuring engagement and identifying an interested audience.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "like",
                "praise",
                "empathy",
                "interest",
                "appreciation",
                "entertainment"
              ],
              "default": "all",
              "description": "Filter by reaction type. `all` returns every reaction (default)."
            },
            "required": false,
            "description": "Filter by reaction type. `all` returns every reaction (default).",
            "name": "type",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinUserPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/posts/{id}/reposts": {
      "get": {
        "operationId": "getLinkedinPostsByIdReposts",
        "summary": "List reposts of a LinkedIn post",
        "description": "Return the reposts of a LinkedIn post by its ID, as a cursor-paginated list. Useful for tracking how a post spreads and who amplified it.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/posts/{id}": {
      "get": {
        "operationId": "getLinkedinPostsById",
        "summary": "Get a LinkedIn post by ID",
        "description": "Return a single LinkedIn post by its numeric ID, including author, text, media, and engagement counts. Useful for hydrating a known post or checking its current reach.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkedinPost"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/search/ads": {
      "get": {
        "operationId": "getLinkedinSearchAds",
        "summary": "Search the LinkedIn Ad Library",
        "description": "Search the LinkedIn Ad Library by advertiser, keyword, and other filters, returning matching ads as a cursor-paginated list. Useful for competitive ad intelligence and tracking a competitor's paid messaging.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "keyword",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "advertiser_name",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "description": "ISO-3166-1 alpha-2 code, e.g. `US`"
            },
            "required": false,
            "description": "ISO-3166-1 alpha-2 code, e.g. `US`",
            "name": "country",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "date",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinAdListing"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/search/industries": {
      "get": {
        "operationId": "getLinkedinSearchIndustries",
        "summary": "Resolve a free-text industry name to LinkedIn industry IDs",
        "description": "Resolve a free-text industry name (e.g. `software`) into the LinkedIn industry IDs accepted by the people-search `industry` filter. A lookup helper — useful for building precise, filterable people and company queries.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "keyword",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinSearchIndustry"
                      }
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/search/jobs": {
      "get": {
        "operationId": "getLinkedinSearchJobs",
        "summary": "Search LinkedIn jobs by keyword and filters",
        "description": "Search LinkedIn job postings by keyword, location, and other filters, returning matching jobs as a paginated list. Useful for labor-market research and tracking hiring demand across companies and roles.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Free-text search query"
            },
            "required": true,
            "description": "Free-text search query",
            "name": "keyword",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "sort_by",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "date_posted",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "geocode",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "company",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "experience_level",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "remote",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "job_type",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "required": false,
            "name": "easy_apply",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "required": false,
            "name": "has_verifications",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "required": false,
            "name": "under_10_applicants",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "required": false,
            "name": "fair_chance_employer",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinJobListing"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/search/locations": {
      "get": {
        "operationId": "getLinkedinSearchLocations",
        "summary": "Resolve a free-text location into LinkedIn geocode tokens",
        "description": "Resolve a free-text location string (e.g. `San Francisco Bay Area`) into the LinkedIn `geocode` tokens accepted by other search filters. A lookup helper — useful for adding accurate geographic targeting to people and job searches.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "keyword",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinSearchLocation"
                      }
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/search/people": {
      "get": {
        "operationId": "getLinkedinSearchPeople",
        "summary": "Search LinkedIn people by name, title, company, etc.",
        "description": "Search LinkedIn members by name, title, company, location, industry, and other filters, returning matching profiles as a paginated list. Supply at least one filter — useful for prospecting, recruiting, and audience building.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "name",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "first_name",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "last_name",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "title",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "company",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "school",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "geocode_location",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "current_company",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "profile_language",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "industry",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "service_category",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinUserPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/search/posts": {
      "get": {
        "operationId": "getLinkedinSearchPosts",
        "summary": "Search LinkedIn posts by keyword",
        "description": "Search public LinkedIn posts by keyword, returning matching posts as a paginated list. Useful for tracking topics, brand mentions, and thought-leadership conversations on the platform.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "keyword",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "date_posted",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "sort_by",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "from_member",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "from_company",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "content_type",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinSearchPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/search/schools": {
      "get": {
        "operationId": "getLinkedinSearchSchools",
        "summary": "Search LinkedIn schools by keyword",
        "description": "Search LinkedIn schools and universities by keyword, returning matching institutions as a list. Useful for resolving a school to its LinkedIn entity and for education-based audience research.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "keyword",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinSchool"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/about": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameAbout",
        "summary": "Get a LinkedIn profile's 'about' metadata",
        "description": "Return the freeform recency metadata shown on a LinkedIn profile — when the member joined, when their contact info was last updated, and when the profile photo last changed — resolved from the profile URL slug. Useful for gauging how actively a profile is maintained.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkedinAbout"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/certifications": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameCertifications",
        "summary": "List a LinkedIn user's certifications",
        "description": "Return the certifications listed on a LinkedIn profile, resolved from its URL slug. Useful for verifying credentials and enriching candidate or contact records.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinCertification"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/comments": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameComments",
        "summary": "List comments authored by a LinkedIn user",
        "description": "Return the comments a LinkedIn user has authored on other people's posts, each embedding its parent post, as a paginated list. Useful for understanding an individual's interests and engagement footprint.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinUserComment"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/contact": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameContact",
        "summary": "Get a LinkedIn user's public contact info",
        "description": "Returns the contact block (websites, phone numbers, twitter handles, address, wechat) the user has chosen to publish on LinkedIn.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkedinContactInfo"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/educations": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameEducations",
        "summary": "List a LinkedIn user's education",
        "description": "Return the education entries on a LinkedIn profile, resolved from its URL slug. Useful for enriching candidate records and education-based segmentation.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinEducation"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/experience": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameExperience",
        "summary": "List a LinkedIn user's work experience",
        "description": "Return the work-experience entries from a LinkedIn profile, resolved from its URL slug, including roles, companies, and dates. Useful for building career histories and verifying a contact's background.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinExperience"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/follower-count": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameFollowerCount",
        "summary": "Get a LinkedIn user's follower & connection counts",
        "description": "Return the follower and connection counts displayed on a LinkedIn profile, resolved directly from its URL slug. Useful as a lightweight reach and influence signal.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkedinFollowerStats"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/honors": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameHonors",
        "summary": "List a LinkedIn user's honors and awards",
        "description": "Return the honors and awards listed on a LinkedIn profile, resolved from its URL slug. Useful for enriching contact records and identifying notable achievements.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinHonor"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/images": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameImages",
        "summary": "List image posts authored by a LinkedIn user",
        "description": "Return the image posts authored by a LinkedIn user, resolved from the profile URL slug, as a paginated list. Useful for collecting a person's visual content and tracking their activity.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinUserImage"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/interests/companies": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameInterestsCompanies",
        "summary": "List companies a LinkedIn user follows",
        "description": "Return the companies a LinkedIn user follows, resolved from the profile URL slug, as a paginated list. Useful for inferring professional interests and buying signals.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinInterestCompany"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/interests/groups": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameInterestsGroups",
        "summary": "List LinkedIn groups a user follows",
        "description": "Return the LinkedIn groups a user belongs to or follows, resolved from the profile URL slug, as a paginated list. Useful for mapping a person's communities and interests.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinInterestGroup"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/posts": {
      "get": {
        "operationId": "getLinkedinUsersByUsernamePosts",
        "summary": "List posts authored by a LinkedIn user",
        "description": "Return the posts authored by a LinkedIn user, resolved from the profile URL slug, as a cursor-paginated list. Useful for monitoring an individual's content, expertise, and activity over time.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/publications": {
      "get": {
        "operationId": "getLinkedinUsersByUsernamePublications",
        "summary": "List a LinkedIn user's publications",
        "description": "Return the publications listed on a LinkedIn profile, resolved from its URL slug. Useful for assessing thought leadership and enriching expert or candidate records.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinPublication"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/reactions": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameReactions",
        "summary": "List reactions a LinkedIn user has placed on posts",
        "description": "Return the reactions (likes, celebrates, and so on) a LinkedIn user has placed on posts, resolved from the profile URL slug, as a paginated list. Useful for understanding a person's interests and engagement behavior.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinUserReaction"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/recommendations": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameRecommendations",
        "summary": "List recommendations written for a LinkedIn user",
        "description": "Return the recommendations written for a LinkedIn user, resolved from the profile URL slug. Useful for reputation research and enriching candidate or partner due diligence.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinRecommendation"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}": {
      "get": {
        "operationId": "getLinkedinUsersByUsername",
        "summary": "Get a LinkedIn user profile by URL slug",
        "description": "Returns the canonical LinkedIn profile for the given URL slug (`public_identifier`). Returns 404 not_found if no such user exists.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "LinkedIn URL slug, e.g. `williamhgates`"
            },
            "required": true,
            "description": "LinkedIn URL slug, e.g. `williamhgates`",
            "name": "username",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkedinUser"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/skills": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameSkills",
        "summary": "List a LinkedIn user's skills",
        "description": "Return the skills listed on a LinkedIn profile, resolved from its URL slug. Useful for talent matching, skills-based segmentation, and enriching candidate records.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinSkill"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/videos": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameVideos",
        "summary": "List video posts authored by a LinkedIn user",
        "description": "Return the video posts authored by a LinkedIn user, resolved from the profile URL slug, as a paginated list. Useful for collecting a person's video content and tracking their activity.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinUserVideo"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/users/{username}/volunteers": {
      "get": {
        "operationId": "getLinkedinUsersByUsernameVolunteers",
        "summary": "List a LinkedIn user's volunteer experience",
        "description": "Return the volunteer-experience entries on a LinkedIn profile, resolved from its URL slug. Useful for building a fuller picture of a contact and values-based engagement.",
        "tags": [
          "linkedin"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedinVolunteer"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/local/search": {
      "post": {
        "operationId": "postLocalSearch",
        "summary": "Search Local Finder",
        "description": "Run one live Local Finder search — the expanded local-pack listing — and receive ranked local places for a query, including title, address, rating, phone, and booking links.",
        "tags": [
          "local"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocalFinderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LocalFinderResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/maps/search": {
      "post": {
        "operationId": "postMapsSearch",
        "summary": "Search Maps",
        "description": "Run one live Maps search and receive ranked local business listings for a query, including title, address, rating, category, phone, coordinates, and place id.",
        "tags": [
          "maps"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MapsSearchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MapsSearchResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/news/search": {
      "post": {
        "operationId": "postNewsSearch",
        "summary": "Search News",
        "description": "Run one live News search and receive the ranked news articles and top-stories blocks for a query, including title, publisher domain, snippet, image, and publish time.",
        "tags": [
          "news"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsSearchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/NewsSearchResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/reddit/feed/home": {
      "get": {
        "operationId": "getRedditFeedHome",
        "summary": "Browse Reddit's anonymous home feed",
        "description": "Return posts from Reddit's anonymous (logged-out) home feed, as a cursor-paginated list. Useful for sampling broadly popular content across the platform without an account.",
        "tags": [
          "reddit"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RedditPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reddit/feed/news": {
      "get": {
        "operationId": "getRedditFeedNews",
        "summary": "Browse Reddit's news feed",
        "description": "Return posts from Reddit's news feed, as a cursor-paginated list. Useful for tracking trending news stories and discussion as they surface across Reddit.",
        "tags": [
          "reddit"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RedditPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reddit/feed/popular": {
      "get": {
        "operationId": "getRedditFeedPopular",
        "summary": "Browse Reddit's popular feed",
        "description": "Return posts from Reddit's r/popular feed — the cross-community trending surface — as a cursor-paginated list. Useful for monitoring what is gaining traction platform-wide.",
        "tags": [
          "reddit"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RedditPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reddit/posts/{id}/comments": {
      "get": {
        "operationId": "getRedditPostsByIdComments",
        "summary": "List Reddit comments on a post",
        "description": "Return the comments on a Reddit post by its `t3_` fullname ID, with nested replies flattened into a single list. Useful for analyzing discussion, sentiment, and community response to a post.",
        "tags": [
          "reddit"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RedditComment"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reddit/posts/{id}": {
      "get": {
        "operationId": "getRedditPostsById",
        "summary": "Get a Reddit post by id",
        "description": "Return a single Reddit post by its `t3_` fullname ID, including title, body, author, subreddit, score, and comment count. Useful for hydrating a known post or checking its current engagement.",
        "tags": [
          "reddit"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Reddit post fullname, e.g. `t3_1thjm1o`."
            },
            "required": true,
            "description": "Reddit post fullname, e.g. `t3_1thjm1o`.",
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RedditPost"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reddit/subreddits/{name}": {
      "get": {
        "operationId": "getRedditSubredditsByName",
        "summary": "Get a Reddit subreddit by name",
        "description": "Return a subreddit's profile by name, including its title, description, subscriber count, and rules metadata. Useful for sizing a community before pulling its posts or analyzing its audience.",
        "tags": [
          "reddit"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Subreddit slug without `r/`, e.g. `pics`."
            },
            "required": true,
            "description": "Subreddit slug without `r/`, e.g. `pics`.",
            "name": "name",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RedditSubreddit"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reddit/trending-searches": {
      "get": {
        "operationId": "getRedditTrendingSearches",
        "summary": "List Reddit's current trending search queries",
        "description": "Return Reddit's current trending search queries. Useful for spotting emerging topics and timing content to live interest across the platform.",
        "tags": [
          "reddit"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/RedditTrendingSearch"
                          }
                        }
                      },
                      "required": [
                        "items"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ]
      }
    },
    "/reddit/users/{username}/comments": {
      "get": {
        "operationId": "getRedditUsersByUsernameComments",
        "summary": "List Reddit comments authored by a user",
        "description": "Return the comments a Reddit user has authored, by username, as a list. Useful for understanding a user's interests, expertise, and engagement footprint.",
        "tags": [
          "reddit"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RedditComment"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reddit/users/{username}/posts": {
      "get": {
        "operationId": "getRedditUsersByUsernamePosts",
        "summary": "List Reddit posts authored by a user",
        "description": "Return the posts a Reddit user has authored, by username, as a list. Useful for profiling a user's contributions and the communities they post in.",
        "tags": [
          "reddit"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RedditPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reddit/users/{username}": {
      "get": {
        "operationId": "getRedditUsersByUsername",
        "summary": "Get a Reddit user profile by username",
        "description": "Return a Reddit user's public profile by username, including karma, account age, and verification flags. Useful as the entry point for any user-level research.",
        "tags": [
          "reddit"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RedditUser"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/seo/backlinks/anchors": {
      "post": {
        "operationId": "postSeoBacklinksAnchors",
        "summary": "Get anchor texts used in backlinks to a target",
        "description": "Return the anchor texts used in backlinks pointing to a target, each with backlink, referring-domain, and spam-score counters, to analyze anchor-text distribution.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksAnchorsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksAnchorsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/bulk-backlinks": {
      "post": {
        "operationId": "postSeoBacklinksBulkBacklinks",
        "summary": "Count backlinks for many targets",
        "description": "Return the total number of backlinks pointing to up to 1000 domains, subdomains, or pages at once, for bulk link-volume comparison.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksBulkBacklinksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksBulkBacklinksResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/bulk-new-lost-backlinks": {
      "post": {
        "operationId": "postSeoBacklinksBulkNewLostBacklinks",
        "summary": "Count new and lost backlinks for many targets",
        "description": "Return the number of new and lost backlinks for up to 1000 domains, subdomains, or pages since a given date, for bulk link-velocity tracking.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksBulkNewLostBacklinksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksBulkNewLostBacklinksResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/bulk-new-lost-referring-domains": {
      "post": {
        "operationId": "postSeoBacklinksBulkNewLostReferringDomains",
        "summary": "Count new and lost referring domains for many targets",
        "description": "Return the number of new and lost referring domains for up to 1000 domains, subdomains, or pages since a given date, for bulk referring-domain velocity tracking.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksBulkNewLostReferringDomainsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksBulkNewLostReferringDomainsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/bulk-pages-summary": {
      "post": {
        "operationId": "postSeoBacklinksBulkPagesSummary",
        "summary": "Summarize backlinks for many pages at once",
        "description": "Return backlink summaries for up to 1000 pages, domains, or subdomains at once, each with backlink, referring-domain, and spam-score counters, for bulk link-profile comparison.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksBulkPagesSummaryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksBulkPagesSummaryResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/bulk-ranks": {
      "post": {
        "operationId": "postSeoBacklinksBulkRanks",
        "summary": "Get backlink ranks for many targets",
        "description": "Return the backlink rank score (0-1000, similar to PageRank) for up to 1000 domains, subdomains, or pages at once, for quick bulk authority comparison.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksBulkRanksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksBulkRanksResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/bulk-referring-domains": {
      "post": {
        "operationId": "postSeoBacklinksBulkReferringDomains",
        "summary": "Count referring domains for many targets",
        "description": "Return the number of referring domains pointing to up to 1000 domains, subdomains, or pages at once, for bulk referring-domain comparison.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksBulkReferringDomainsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksBulkReferringDomainsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/bulk-spam-score": {
      "post": {
        "operationId": "postSeoBacklinksBulkSpamScore",
        "summary": "Get spam scores for many targets",
        "description": "Return the DataForSEO spam score (0-100) for up to 1000 domains, subdomains, or pages at once, to flag risky backlink targets in bulk.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksBulkSpamScoreRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksBulkSpamScoreResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/competitors": {
      "post": {
        "operationId": "postSeoBacklinksCompetitors",
        "summary": "Find competitors by shared referring domains",
        "description": "Return the domains that share referring domains with a target, ranked by the number of shared referring domains, to discover competitors in the same backlink neighborhood.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksCompetitorsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksCompetitorsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/domain-intersection": {
      "post": {
        "operationId": "postSeoBacklinksDomainIntersection",
        "summary": "Find domains linking to multiple targets",
        "description": "Return the domains that link to a set of targets, with per-target backlink metrics. Useful for a link-gap analysis: domains linking to competitors but not to your site.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksDomainIntersectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksDomainIntersectionResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/domain-pages-summary": {
      "post": {
        "operationId": "postSeoBacklinksDomainPagesSummary",
        "summary": "Summarize backlinks for each page of a target",
        "description": "Return per-page backlink summaries for a target domain or subdomain, each page with backlink, referring-domain, and spam-score counters, to find the most-linked pages.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksDomainPagesSummaryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksDomainPagesSummaryResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/domain-pages": {
      "post": {
        "operationId": "postSeoBacklinksDomainPages",
        "summary": "List target pages ranked by backlinks",
        "description": "Return the pages of a target domain or subdomain that receive backlinks, each with crawl data and backlink counters, to find the most-linked pages of a site.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksDomainPagesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksDomainPagesResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/history": {
      "post": {
        "operationId": "postSeoBacklinksHistory",
        "summary": "Get historical backlink metrics for a target",
        "description": "Return a monthly time series of a target's backlink profile since 2019 — backlinks, referring domains, new/lost counts, and rank — for link-growth trend analysis.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksHistoryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksHistoryResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/list": {
      "post": {
        "operationId": "postSeoBacklinksList",
        "summary": "List individual backlinks pointing to a target",
        "description": "Return the individual backlinks pointing to a target domain, subdomain, or page, each with the referring URL, anchor, dofollow flag, rank, and spam score, for detailed link auditing.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksListRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksListResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/page-intersection": {
      "post": {
        "operationId": "postSeoBacklinksPageIntersection",
        "summary": "Find pages linking to multiple targets",
        "description": "Return the referring pages that link to a set of targets, with the backlinks to each target. Useful for finding pages that link to your competitors but not to your site.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksPageIntersectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksPageIntersectionResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/referring-domains": {
      "post": {
        "operationId": "postSeoBacklinksReferringDomains",
        "summary": "List referring domains pointing to a target",
        "description": "Return the domains that link to a target domain, subdomain, or page, each with backlink, referring-domain, and spam-score counters for referring-domain analysis.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoReferringDomainsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoReferringDomainsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/referring-networks": {
      "post": {
        "operationId": "postSeoBacklinksReferringNetworks",
        "summary": "List referring IP networks pointing to a target",
        "description": "Return the IP addresses or subnets that host pages linking to a target, each with backlink and referring-domain counters, to assess referring-network diversity.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksReferringNetworksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksReferringNetworksResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/summary": {
      "post": {
        "operationId": "postSeoBacklinksSummary",
        "summary": "Get the backlink profile summary for a target",
        "description": "Return an overview of a target's backlink profile: total backlinks, referring domains/pages/IPs, rank, spam score, and broken-link counters, for a quick link-profile health check.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksSummaryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksSummaryResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/timeseries-new-lost": {
      "post": {
        "operationId": "postSeoBacklinksTimeseriesNewLost",
        "summary": "Get new and lost backlinks over time",
        "description": "Return a time series of new and lost backlinks and referring domains for a target, grouped by day, week, month, or year, for link-velocity analysis.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksTimeseriesNewLostRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksTimeseriesNewLostResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/backlinks/timeseries": {
      "post": {
        "operationId": "postSeoBacklinksTimeseries",
        "summary": "Get backlink metrics over time",
        "description": "Return a time series of a target's backlink metrics grouped by day, week, month, or year between two dates, for tracking backlink and referring-domain trends.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBacklinksTimeseriesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBacklinksTimeseriesResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/bulk-traffic": {
      "post": {
        "operationId": "postSeoCompetitorsBulkTraffic",
        "summary": "Estimate organic traffic for domains",
        "description": "Return the estimated monthly organic and paid search traffic for a list of domains, for quick competitor sizing and prospecting across many domains at once.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoBulkTrafficRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoBulkTrafficResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/domain-intersection": {
      "post": {
        "operationId": "postSeoCompetitorsDomainIntersection",
        "summary": "Find keywords two domains both rank for",
        "description": "Return the keywords for which two domains both rank, with each domain's position and URL, to find shared keywords or keyword gaps between competitors.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoDomainIntersectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoDomainIntersectionResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/domain-rank-overview": {
      "post": {
        "operationId": "postSeoCompetitorsDomainRankOverview",
        "summary": "Get a domain's ranking and traffic overview",
        "description": "Return the organic and paid ranking distribution and estimated traffic for a target domain, summarizing how many keywords it ranks for in each position bucket.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoDomainRankOverviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoDomainRankOverviewResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/domain": {
      "post": {
        "operationId": "postSeoCompetitorsDomain",
        "summary": "Find a domain's organic competitors",
        "description": "Return the domains that compete with a target domain in organic search, with shared-keyword counts and ranking/traffic metrics, for competitive landscape analysis.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoCompetitorsDomainRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoCompetitorsDomainResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/historical-bulk-traffic": {
      "post": {
        "operationId": "postSeoCompetitorsHistoricalBulkTraffic",
        "summary": "Estimate historical traffic for domains",
        "description": "Return a monthly estimated organic and paid traffic time series for a list of domains since 2019, for comparing competitor growth trajectories over time.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 500
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoHistoricalBulkTrafficRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoHistoricalBulkTrafficResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/historical-rank-overview": {
      "post": {
        "operationId": "postSeoCompetitorsHistoricalRankOverview",
        "summary": "Get a domain's historical ranking overview",
        "description": "Return a monthly time series of a domain's organic and paid ranking distribution and estimated traffic since 2019, for trend and seasonality analysis.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 500
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoHistoricalRankOverviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoHistoricalRankOverviewResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/historical-serps": {
      "post": {
        "operationId": "postSeoCompetitorsHistoricalSerps",
        "summary": "Get historical SERP snapshots for a keyword",
        "description": "Return historical snapshots of the SERP composition for a keyword since 2019, summarizing how many results and which SERP feature types appeared over time.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoHistoricalSerpsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoHistoricalSerpsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/page-intersection": {
      "post": {
        "operationId": "postSeoCompetitorsPageIntersection",
        "summary": "Find keywords specific pages rank for",
        "description": "Return the keywords that a set of specific page URLs rank for, with each page's position, to analyze keyword overlap across competing pages or your own content.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoPageIntersectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoPageIntersectionResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/ranked-keywords": {
      "post": {
        "operationId": "postSeoCompetitorsRankedKeywords",
        "summary": "Find the keywords a domain ranks for",
        "description": "Return the keywords a target domain or page ranks for in organic search, each with search volume, difficulty, and the exact ranking position and URL, for competitor keyword research.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoRankedKeywordsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoRankedKeywordsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/relevant-pages": {
      "post": {
        "operationId": "postSeoCompetitorsRelevantPages",
        "summary": "List a domain's top ranking pages",
        "description": "Return the pages of a target domain that drive the most organic search traffic, each with its ranking distribution and estimated traffic, for content gap and page-level analysis.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoRelevantPagesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoRelevantPagesResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/serp": {
      "post": {
        "operationId": "postSeoCompetitorsSerp",
        "summary": "Find domains competing for keywords",
        "description": "Return the domains that rank for a set of seed keywords, ranked by visibility, with average position, estimated traffic, and the number of shared keywords, to discover SERP competitors.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoSerpCompetitorsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoSerpCompetitorsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/competitors/subdomains": {
      "post": {
        "operationId": "postSeoCompetitorsSubdomains",
        "summary": "List a domain's subdomains with traffic",
        "description": "Return the subdomains of a target domain, each with its organic ranking distribution and estimated traffic, to see which subdomains drive search visibility.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoSubdomainsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoSubdomainsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/keywords/autocomplete": {
      "post": {
        "operationId": "postSeoKeywordsAutocomplete",
        "summary": "Collect autocomplete keyword suggestions",
        "description": "Run one live autocomplete lookup for a seed query and receive the suggested searches the engine offers, with relevance scores — useful for SEO keyword discovery and content-gap research.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoKeywordAutocompleteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoKeywordAutocompleteResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/keywords/difficulty": {
      "post": {
        "operationId": "postSeoKeywordsDifficulty",
        "summary": "Score keyword difficulty",
        "description": "Return the keyword difficulty (0-100 chance of ranking in the top-10 organic results) for up to 1,000 keywords in one request, for prioritizing achievable SEO targets.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoKeywordDifficultyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoKeywordDifficultyResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/keywords/for-site": {
      "post": {
        "operationId": "postSeoKeywordsForSite",
        "summary": "Find keywords a domain ranks for",
        "description": "Return the keywords a target domain is relevant for, each with search volume, CPC, competition, keyword difficulty, and search intent, for competitor and own-site keyword research.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoKeywordsForSiteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoKeywordsForSiteResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/keywords/history": {
      "post": {
        "operationId": "postSeoKeywordsHistory",
        "summary": "Get historical keyword data",
        "description": "Return historical search volume and search ad metrics since 2019 for specified keywords, for trend and seasonality analysis.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoKeywordHistoryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoKeywordHistoryResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/keywords/ideas": {
      "post": {
        "operationId": "postSeoKeywordsIdeas",
        "summary": "Discover keyword ideas",
        "description": "Expand seed keywords into related search terms that fall into the same product or service categories, each with search volume, CPC, competition, keyword difficulty, and search intent for SEO and content research.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoKeywordIdeasRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoKeywordIdeasResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/keywords/intent": {
      "post": {
        "operationId": "postSeoKeywordsIntent",
        "summary": "Classify keyword search intent",
        "description": "Return the search intent (informational, navigational, commercial, or transactional) with probabilities for up to 1,000 keywords, for mapping keywords to the right content type.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoKeywordIntentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoKeywordIntentResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/keywords/overview": {
      "post": {
        "operationId": "postSeoKeywordsOverview",
        "summary": "Look up keyword metrics",
        "description": "Return current SEO metrics for specified keywords, including search volume, CPC, competition, keyword difficulty, and search intent, for prioritizing keyword targets.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoKeywordOverviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoKeywordOverviewResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/keywords/related": {
      "post": {
        "operationId": "postSeoKeywordsRelated",
        "summary": "Find related keywords",
        "description": "Expand a seed keyword using the 'searches related to' element, each with search volume, CPC, competition, keyword difficulty, and search intent for SEO and content research.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoRelatedKeywordsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoRelatedKeywordsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/keywords/suggestions": {
      "post": {
        "operationId": "postSeoKeywordsSuggestions",
        "summary": "Find keyword suggestions",
        "description": "Expand a seed keyword into long-tail search queries that include it, each with search volume, CPC, competition, keyword difficulty, and search intent for SEO and content research.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 50
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoKeywordSuggestionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoKeywordSuggestionsResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/seo/serp": {
      "post": {
        "operationId": "postSeoSerp",
        "summary": "Collect organic SERP SEO evidence",
        "description": "Run one live organic SERP check for SEO optimization evidence, including target visibility, competitor domains, rich SERP features, People Also Ask context, AI Overview presence, and optional pixel ranking data.",
        "tags": [
          "seo"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 10
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeoSerpRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeoSerpResponse"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/threads/search/profiles": {
      "get": {
        "operationId": "getThreadsSearchProfiles",
        "summary": "Search Threads users by keyword",
        "description": "Search Threads accounts by keyword, returning matching public profiles. Useful for creator discovery, audience research, and finding accounts active on a topic.",
        "tags": [
          "threads"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword."
            },
            "required": true,
            "description": "Search keyword.",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ThreadsUser"
                          }
                        }
                      },
                      "required": [
                        "items"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/threads/search/recent": {
      "get": {
        "operationId": "getThreadsSearchRecent",
        "summary": "Search recent Threads posts",
        "description": "Search recent Threads posts by keyword, returning matches newest-first as a cursor-paginated list. Useful for tracking brand mentions, keywords, and breaking conversations in near real time.",
        "tags": [
          "threads"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword."
            },
            "required": true,
            "description": "Search keyword.",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ThreadsPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/threads/search/top": {
      "get": {
        "operationId": "getThreadsSearchTop",
        "summary": "Search top Threads posts",
        "description": "Search Threads posts by keyword, ranked by engagement, returning the top matches as a cursor-paginated list. Useful for surfacing the most resonant content on a topic.",
        "tags": [
          "threads"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword."
            },
            "required": true,
            "description": "Search keyword.",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ThreadsPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/threads/users/{username}/posts": {
      "get": {
        "operationId": "getThreadsUsersByUsernamePosts",
        "summary": "List Threads posts authored by a user",
        "description": "Return the posts authored by a Threads user, by username, as a cursor-paginated list. Useful for profiling a creator's content, monitoring a brand, or building an archive.",
        "tags": [
          "threads"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ThreadsPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/threads/users/{username}/replies": {
      "get": {
        "operationId": "getThreadsUsersByUsernameReplies",
        "summary": "List Threads replies authored by a user",
        "description": "Return the replies a Threads user has authored, by username, as a cursor-paginated list. Useful for understanding how an account engages in conversation beyond its own posts.",
        "tags": [
          "threads"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ThreadsPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/threads/users/{username}/reposts": {
      "get": {
        "operationId": "getThreadsUsersByUsernameReposts",
        "summary": "List Threads reposts by a user",
        "description": "Return the posts a Threads user has reposted, by username, as a cursor-paginated list. Useful for inferring an account's interests and the content it amplifies.",
        "tags": [
          "threads"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ThreadsPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/threads/users/{username}": {
      "get": {
        "operationId": "getThreadsUsersByUsername",
        "summary": "Get a Threads user profile by username",
        "description": "Return a Threads user's public profile by username, including display name, bio, follower count, and verification status. Useful as the entry point for any account-level research.",
        "tags": [
          "threads"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "username",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ThreadsUser"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/feed/recommended": {
      "post": {
        "operationId": "postTiktokFeedRecommended",
        "summary": "Get TikTok recommendation videos",
        "description": "Return a batch of videos from TikTok's recommendation feed for a given region. Useful for sampling trending and algorithmically surfaced content across a market.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cookie": {
                    "type": "string"
                  },
                  "region": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 2,
                    "default": "US"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50,
                    "default": 20
                  }
                },
                "default": {
                  "region": "US",
                  "limit": 20
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Video"
                          }
                        }
                      },
                      "required": [
                        "items"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/tiktok/hashtags/{id}": {
      "get": {
        "operationId": "getTiktokHashtagsById",
        "summary": "Get a TikTok hashtag by ID",
        "description": "Return a TikTok hashtag (challenge) by its numeric ID, including its title, description, and aggregate view count. Useful for sizing a hashtag's reach before pulling its videos.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Hashtag"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/hashtags/{id}/videos": {
      "get": {
        "operationId": "getTiktokHashtagsByIdVideos",
        "summary": "List videos tagged with a TikTok hashtag",
        "description": "Return the videos tagged with a given TikTok hashtag, by hashtag ID, as a cursor-paginated list. Useful for tracking trend participation and collecting user-generated content around a campaign.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Video"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/music/{id}": {
      "get": {
        "operationId": "getTiktokMusicById",
        "summary": "Get a TikTok music track by ID",
        "description": "Return a TikTok sound (music track) by its numeric ID, including title, author, and usage stats. Useful for sound-trend research and identifying the audio driving a trend.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MusicDetail"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/music/{id}/videos": {
      "get": {
        "operationId": "getTiktokMusicByIdVideos",
        "summary": "List videos using a TikTok music track",
        "description": "Return the videos that use a given TikTok sound, by music ID, as a cursor-paginated list. Useful for measuring how a sound is spreading and finding the creators who adopted it.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Video"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/search/hashtags": {
      "get": {
        "operationId": "getTiktokSearchHashtags",
        "summary": "Search TikTok hashtags by keyword",
        "description": "Search TikTok hashtags by keyword, returning matching hashtags with their metadata as a cursor-paginated list. Useful for trend discovery and planning hashtag strategy.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword"
            },
            "required": true,
            "description": "Search keyword",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Hashtag"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/search": {
      "get": {
        "operationId": "getTiktokSearch",
        "summary": "General TikTok search (returns videos)",
        "description": "Returns TikTok videos for the keyword `q`. Use type-specific endpoints when needed.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword"
            },
            "required": true,
            "description": "Search keyword",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Video"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/search/users": {
      "get": {
        "operationId": "getTiktokSearchUsers",
        "summary": "Search TikTok users by keyword",
        "description": "Search TikTok accounts by keyword, returning matching public profiles as a cursor-paginated list. Useful for creator discovery, influencer research, and competitive account mapping.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword"
            },
            "required": true,
            "description": "Search keyword",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/User"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/search/videos": {
      "get": {
        "operationId": "getTiktokSearchVideos",
        "summary": "Search TikTok videos by keyword",
        "description": "Returns a paginated list of TikTok videos matching the keyword `q`. Use `next_cursor` from the response as the next request's `cursor`.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword"
            },
            "required": true,
            "description": "Search keyword",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Video"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/users/{id}/followers": {
      "get": {
        "operationId": "getTiktokUsersByIdFollowers",
        "summary": "List a TikTok user's followers",
        "description": "Return a paginated list of the accounts that follow a given TikTok user, identified by sec_uid, numeric ID, or handle. Useful for audience analysis and mapping a creator's following.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "TikTok sec_uid, numeric user id, or public handle."
            },
            "required": true,
            "description": "TikTok sec_uid, numeric user id, or public handle.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/User"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/users/{id}/following": {
      "get": {
        "operationId": "getTiktokUsersByIdFollowing",
        "summary": "List users a TikTok user is following",
        "description": "Return a paginated list of the accounts a given TikTok user follows, identified by sec_uid, numeric ID, or handle. Returns empty when the user hides their following list — useful for mapping a creator's interest graph.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "TikTok sec_uid, numeric user id, or public handle."
            },
            "required": true,
            "description": "TikTok sec_uid, numeric user id, or public handle.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/User"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/users/{id}/likes": {
      "get": {
        "operationId": "getTiktokUsersByIdLikes",
        "summary": "List videos liked by a TikTok user",
        "description": "Returns a paginated list of videos the user has liked where the user has made their likes public.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "TikTok sec_uid, numeric user id, or public handle."
            },
            "required": true,
            "description": "TikTok sec_uid, numeric user id, or public handle.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Video"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/users/{id}": {
      "get": {
        "operationId": "getTiktokUsersById",
        "summary": "Get a TikTok user profile",
        "description": "Returns the canonicalized public profile for the TikTok user with the given sec_uid, numeric user id, or handle.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "TikTok sec_uid, numeric user id, or public handle."
            },
            "required": true,
            "description": "TikTok sec_uid, numeric user id, or public handle.",
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/User"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/users/{id}/videos": {
      "get": {
        "operationId": "getTiktokUsersByIdVideos",
        "summary": "List videos posted by a TikTok user",
        "description": "Returns a paginated list of public videos posted by the user. Use `next_cursor` from the response as the next request's `cursor`.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "TikTok sec_uid, numeric user id, or public handle."
            },
            "required": true,
            "description": "TikTok sec_uid, numeric user id, or public handle.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Video"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/users/resolve": {
      "get": {
        "operationId": "getTiktokUsersResolve",
        "summary": "Resolve a TikTok username to a user id",
        "description": "Accepts a public TikTok username (handle) and returns the user's stable opaque id for other /tiktok/users/{id} endpoints.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Public TikTok handle, e.g. 'jennmelon'"
            },
            "required": true,
            "description": "Public TikTok handle, e.g. 'jennmelon'",
            "name": "username",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "Stable opaque TikTok user id"
                        },
                        "username": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "username"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/videos/{id}/comments/{comment_id}/replies": {
      "get": {
        "operationId": "getTiktokVideosByIdCommentsByCommentIdReplies",
        "summary": "List replies to a TikTok comment",
        "description": "Return the replies to a specific comment on a TikTok video, identified by the numeric video ID and comment ID, as a cursor-paginated list. Useful for following threaded conversations and analyzing audience discussion.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "required": true,
            "name": "comment_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Comment"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/videos/{id}/comments": {
      "get": {
        "operationId": "getTiktokVideosByIdComments",
        "summary": "List top-level comments on a TikTok video",
        "description": "Returns a paginated list of top-level comments on the given video. Use `next_cursor` from the response as the next request's `cursor`.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Comment"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/videos/{id}": {
      "get": {
        "operationId": "getTiktokVideosById",
        "summary": "Get a TikTok video by ID",
        "description": "Returns canonicalized metadata for a single TikTok video. The `{id}` must be the numeric TikTok video id.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Video"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/tiktok/videos/batch": {
      "post": {
        "operationId": "postTiktokVideosBatch",
        "summary": "Batch-fetch TikTok videos by ID",
        "description": "Return canonicalized metadata — author, captions, sound, and engagement counts — for up to 20 TikTok videos in one request, by numeric video ID. Useful for hydrating a set of videos without one call each.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^\\d+$"
                    },
                    "minItems": 1,
                    "maxItems": 20,
                    "description": "Up to 20 numeric TikTok video ids"
                  }
                },
                "required": [
                  "ids"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Video"
                          }
                        }
                      },
                      "required": [
                        "items"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/tiktok/videos/resolve": {
      "get": {
        "operationId": "getTiktokVideosResolve",
        "summary": "Resolve a TikTok share URL to a video",
        "description": "Accepts a TikTok share URL (long or short / vm.tiktok.com) and returns the canonical Video object.",
        "tags": [
          "tiktok"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uri",
              "description": "TikTok share URL (long or short form)"
            },
            "required": true,
            "description": "TikTok share URL (long or short form)",
            "name": "url",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Video"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/autocomplete": {
      "get": {
        "operationId": "getXAutocomplete",
        "summary": "Autocomplete X users, topics, hashtags, and cashtags",
        "description": "Return X search autocomplete suggestions for a partial query, grouped into matching users, topics, hashtags, and cashtags. Useful for type-ahead search, entity discovery, and expanding a seed term into related handles and tags.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "query",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TwitterAutocompleteResult"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/communities/{id}/about": {
      "get": {
        "operationId": "getXCommunitiesByIdAbout",
        "summary": "Get an X Community about timeline",
        "description": "Return the \"about\" timeline for an X Community — the pinned and descriptive Posts that introduce the group — as a cursor-paginated list. Useful for understanding a Community's purpose and rules before engaging.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XTweet"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/communities/{id}/media": {
      "get": {
        "operationId": "getXCommunitiesByIdMedia",
        "summary": "Get media Posts from an X Community",
        "description": "Return only the media-bearing Posts (images and video) from an X Community, as a cursor-paginated list. Useful for surfacing the visual content shared within a group.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XTweet"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/communities/{id}/member_search": {
      "get": {
        "operationId": "getXCommunitiesByIdMemberSearch",
        "summary": "Search members in an X Community",
        "description": "Search within an X Community's membership by query string and return matching members as a cursor-paginated list of profiles. Useful for finding specific people inside a large Community.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "query",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/communities/{id}/members": {
      "get": {
        "operationId": "getXCommunitiesByIdMembers",
        "summary": "Get members of an X Community",
        "description": "Return the accounts that belong to an X Community, as a cursor-paginated list of full profiles. Useful for mapping the membership of a topic-based group.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/communities/{id}/moderators": {
      "get": {
        "operationId": "getXCommunitiesByIdModerators",
        "summary": "Get moderators of an X Community",
        "description": "Return the moderators of an X Community, as a cursor-paginated list of full profiles. Useful for identifying who governs a group and the key accounts to reach.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/communities/{id}": {
      "get": {
        "operationId": "getXCommunitiesById",
        "summary": "Get X Community by ID",
        "description": "Return a single X Community by its ID, including name, description, member count, and other public metadata. Useful for resolving a Community's profile before pulling its Posts or members.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "community.fields",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/XCommunity"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/communities/{id}/tweets": {
      "get": {
        "operationId": "getXCommunitiesByIdTweets",
        "summary": "Get Posts from an X Community",
        "description": "Return the timeline of Posts shared inside an X Community, as a cursor-paginated list. Useful for monitoring discussion within a topic-based group.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XTweet"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/communities/search": {
      "get": {
        "operationId": "getXCommunitiesSearch",
        "summary": "Search X Communities",
        "description": "Search X Communities by query string and return a cursor-paginated set of matching Communities with their metadata. Useful for discovering active topic-based groups to monitor or analyze.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "query",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "community.fields",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XCommunity"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/friendships/show": {
      "get": {
        "operationId": "getXFriendshipsShow",
        "summary": "Check whether one X user follows another",
        "description": "Return the directional follow relationship between two X accounts — whether the source follows the target and vice versa — identified by user IDs or screen names. Useful for verifying connections and detecting one-way follows.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "source_id",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "target_id",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "source_screen_name",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "target_screen_name",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TwitterRelationship"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/lists/{id}/followers": {
      "get": {
        "operationId": "getXListsByIdFollowers",
        "summary": "Get followers/subscribers of an X List",
        "description": "Return the accounts that subscribe to (follow) an X List, as a cursor-paginated list of full profiles. Useful for sizing and analyzing the audience that tracks a curated List.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/lists/{id}/members": {
      "get": {
        "operationId": "getXListsByIdMembers",
        "summary": "Get members of an X List",
        "description": "Return the accounts that belong to an X List, as a cursor-paginated list of full profiles. Useful for extracting a curated audience or seed set of accounts around a theme.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/lists/{id}/tweets": {
      "get": {
        "operationId": "getXListsByIdTweets",
        "summary": "Get Posts from an X List",
        "description": "Return the combined timeline of Posts from the members of an X List, as a cursor-paginated list. Useful for following a hand-curated set of accounts as a single topical feed.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XTweet"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/lists/search": {
      "get": {
        "operationId": "getXListsSearch",
        "summary": "Search X Lists",
        "description": "Search public X Lists by query string and return a cursor-paginated set of matching Lists with their metadata. Useful for discovering curated account collections around a topic, industry, or community.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "query",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XList"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/trends/by/woeid/{woeid}": {
      "get": {
        "operationId": "getXTrendsByWoeidByWoeid",
        "summary": "Get X trends by WOEID",
        "description": "Return the current trending topics for a location identified by its WOEID (Yahoo \"Where On Earth\" ID), each with its name and, when available, associated Post volume. Useful for region-specific trend tracking and timing content to live conversations.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "required": true,
            "name": "woeid",
            "in": "path"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            },
            "required": false,
            "name": "max_trends",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "trend.fields",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XTrend"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/tweets/{id}/article": {
      "get": {
        "operationId": "getXTweetsByIdArticle",
        "summary": "Get the article-style payload for an X Post",
        "description": "Return the long-form X Article payload attached to a Post, including its full text body and authoring metadata. Useful for extracting complete article content from Posts that carry it, rather than only the short Post text.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TwitterArticle"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/tweets/{id}/liking_users": {
      "get": {
        "operationId": "getXTweetsByIdLikingUsers",
        "summary": "Get users who liked an X Post",
        "description": "Return the accounts that liked a given X Post, as a cursor-paginated list of full profiles. Useful for analyzing who engaged with a Post and surfacing an interested audience.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/tweets/{id}/quote_tweets": {
      "get": {
        "operationId": "getXTweetsByIdQuoteTweets",
        "summary": "Get quote Posts for an X Post",
        "description": "Return the quote Posts that reference a given X Post, as a cursor-paginated list with author and metrics for each quote. Useful for measuring how a Post is being amplified and what commentary it is attracting.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XTweet"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/tweets/{id}/retweeted_by": {
      "get": {
        "operationId": "getXTweetsByIdRetweetedBy",
        "summary": "Get users who reposted an X Post",
        "description": "Return the accounts that reposted (retweeted) a given X Post, as a cursor-paginated list of full profiles. Useful for identifying who amplified a Post and mapping the audience that spread it.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/tweets/{id}": {
      "get": {
        "operationId": "getXTweetsById",
        "summary": "Get X Post by ID",
        "description": "Fetch a single X (Twitter) Post by its numeric ID and return the full object — text, author, timestamp, language, and public metrics (likes, reposts, replies, quotes, and views). Useful for hydrating a known Post or checking its current engagement.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/XTweet"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/tweets/{id}/translation": {
      "get": {
        "operationId": "getXTweetsByIdTranslation",
        "summary": "Translate an X Post",
        "description": "Return a machine translation of an X Post's text into a target language code (e.g. `zh`, `es`). Useful for monitoring non-native-language conversations and normalizing multilingual Posts into one working language.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "language",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TwitterTranslation"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/tweets": {
      "get": {
        "operationId": "getXTweets",
        "summary": "Get X Posts by IDs",
        "description": "Batch-fetch up to 100 Posts in one call from a comma-separated list of numeric Post IDs, returning the same full object as the single-Post lookup. Useful for hydrating a set of Posts without one request each.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Comma-separated resource ids."
            },
            "required": true,
            "description": "Comma-separated resource ids.",
            "name": "ids",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XTweet"
                      }
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/tweets/search/recent": {
      "get": {
        "operationId": "getXTweetsSearchRecent",
        "summary": "Search recent X Posts",
        "description": "Search recent public X Posts matching a query string and return a cursor-paginated list of Posts with author and metrics. Useful for tracking keywords, hashtags, cashtags, brand mentions, and breaking conversations in near real time.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Recent search query."
            },
            "required": true,
            "description": "Recent search query.",
            "name": "query",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XTweet"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/{id}/followers/ids": {
      "get": {
        "operationId": "getXUsersByIdFollowersIds",
        "summary": "Get follower IDs for an X user",
        "description": "Return only the numeric user IDs of an X user's followers as a cursor-paginated list — a lighter, faster payload than full follower profiles. Useful for large-scale audience snapshots and set comparisons such as follower overlap between two accounts.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XId"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/{id}/followers": {
      "get": {
        "operationId": "getXUsersByIdFollowers",
        "summary": "Get an X user's followers",
        "description": "Return a cursor-paginated list of the accounts that follow a given X user, with a full profile object per follower. Useful for audience analysis and mapping who follows a brand, creator, or competitor.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/{id}/following/ids": {
      "get": {
        "operationId": "getXUsersByIdFollowingIds",
        "summary": "Get following IDs for an X user",
        "description": "Return only the numeric user IDs that an X user follows as a cursor-paginated list, without the full profile bodies. Useful for efficiently capturing an account's outbound follow graph for overlap and diffing analysis.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XId"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/{id}/following": {
      "get": {
        "operationId": "getXUsersByIdFollowing",
        "summary": "Get users followed by an X user",
        "description": "Return a cursor-paginated list of the accounts a given X user follows, with full profile objects. Useful for mapping an account's interest graph and the people it pays attention to.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/{id}/liked_tweets": {
      "get": {
        "operationId": "getXUsersByIdLikedTweets",
        "summary": "Get Posts liked by an X user",
        "description": "Return the Posts an X user has liked, as a cursor-paginated list. Useful for understanding an account's interests and engagement signals beyond the content it publishes itself.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XTweet"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/{id}/profile_translation": {
      "get": {
        "operationId": "getXUsersByIdProfileTranslation",
        "summary": "Translate an X user profile",
        "description": "Return a machine translation of an X user's profile text (such as the bio) into a target language code. Useful for understanding non-native-language profiles when analyzing international accounts.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "language",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TwitterTranslation"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/{id}": {
      "get": {
        "operationId": "getXUsersById",
        "summary": "Get X user by ID",
        "description": "Resolve a single X (Twitter) account by its numeric user ID and return the full public profile — handle, display name, bio, follower and following counts, verification status, and profile media. Useful when you already hold a stable user ID and need the current profile.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/XUser"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/{id}/tweets": {
      "get": {
        "operationId": "getXUsersByIdTweets",
        "summary": "Get Posts authored by an X user",
        "description": "Return a cursor-paginated timeline of Posts authored by an X user, newest first, optionally dropping replies via the `exclude` parameter. Each page carries a cursor for fetching older Posts — useful for profiling an account's content, monitoring an author, or archiving a feed.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "description": "Comma-separated X timeline exclusions, e.g. `replies`."
            },
            "required": false,
            "description": "Comma-separated X timeline exclusions, e.g. `replies`.",
            "name": "exclude",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XTweet"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/{id}/verified_followers": {
      "get": {
        "operationId": "getXUsersByIdVerifiedFollowers",
        "summary": "Get verified followers for an X user",
        "description": "Return the subset of an X user's followers that carry a verified badge, as a cursor-paginated list of full profiles. Useful for gauging an account's reach among notable or paying accounts.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X resource id."
            },
            "required": true,
            "description": "X resource id.",
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "pagination_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "next_token",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "required": false,
            "name": "max_results",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/by": {
      "get": {
        "operationId": "getXUsersBy",
        "summary": "Get X users by usernames",
        "description": "Batch-resolve up to 100 X accounts from a comma-separated list of @handles in a single call, returning one profile object per username. Useful for converting a list of handles into user IDs and profile data in one request.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Comma-separated usernames."
            },
            "required": true,
            "description": "Comma-separated usernames.",
            "name": "usernames",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users/by/username/{username}": {
      "get": {
        "operationId": "getXUsersByUsernameByUsername",
        "summary": "Get X user by username",
        "description": "Look up an X (Twitter) account by its @handle (without the leading @) and return the full public profile, including the numeric user ID required by the follower, timeline, and relationship endpoints. Useful as the entry point when you only know a username.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "X handle without the leading `@`."
            },
            "required": true,
            "description": "X handle without the leading `@`.",
            "name": "username",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/XUser"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/x/users": {
      "get": {
        "operationId": "getXUsers",
        "summary": "Get X users by IDs",
        "description": "Batch-resolve up to 100 X accounts in one call from a comma-separated list of numeric user IDs, returning the same profile fields as the single-user lookup. Useful for hydrating profiles behind a list of IDs without one request per account.",
        "tags": [
          "x"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "expansions",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "tweet.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "user.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "media.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "place.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "poll.fields",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Comma-separated resource ids."
            },
            "required": true,
            "description": "Comma-separated resource ids.",
            "name": "ids",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/XUser"
                      }
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/channels/{channel_id}/community": {
      "get": {
        "operationId": "getYoutubeChannelsByChannelIdCommunity",
        "summary": "List a YouTube channel's community posts",
        "description": "Return a YouTube channel's community-tab posts, by its `UC…` channel ID, as a cursor-paginated list — text, like and reply counts, and attachment kind. Useful for tracking creator announcements and audience engagement outside of videos.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "channel_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubeCommunityPost"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/channels/{channel_id}/playlists": {
      "get": {
        "operationId": "getYoutubeChannelsByChannelIdPlaylists",
        "summary": "List playlists created by a YouTube channel",
        "description": "Return the playlists a YouTube channel has published, by its `UC…` channel ID, as a cursor-paginated list. Useful for mapping how a creator organizes their catalog into series and collections.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "channel_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubePlaylistPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/channels/{channel_id}": {
      "get": {
        "operationId": "getYoutubeChannelsByChannelId",
        "summary": "Get a YouTube channel by id",
        "description": "Return a YouTube channel's profile by its `UC…` channel ID, including title, handle, description, subscriber count, banner art, topic keywords, and external links. Useful as the entry point for any channel-level research or competitive analysis.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "YouTube channel id (`UCxxx...`)."
            },
            "required": true,
            "description": "YouTube channel id (`UCxxx...`).",
            "name": "channel_id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/YouTubeChannel"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/channels/{channel_id}/search": {
      "get": {
        "operationId": "getYoutubeChannelsByChannelIdSearch",
        "summary": "Search within a YouTube channel",
        "description": "Search a single YouTube channel's videos by keyword, by its `UC…` channel ID, as a cursor-paginated list. Useful for finding a creator's coverage of a specific topic without scanning their whole catalog.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "channel_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword."
            },
            "required": true,
            "description": "Search keyword.",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubeVideoPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/channels/{channel_id}/shorts": {
      "get": {
        "operationId": "getYoutubeChannelsByChannelIdShorts",
        "summary": "List Shorts uploaded by a YouTube channel",
        "description": "Return the Shorts uploaded by a YouTube channel, by its `UC…` channel ID, as a cursor-paginated list. Useful for tracking a creator's short-form output and posting cadence.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "channel_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubeVideoPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/channels/{channel_id}/videos": {
      "get": {
        "operationId": "getYoutubeChannelsByChannelIdVideos",
        "summary": "List videos uploaded by a YouTube channel",
        "description": "Return the videos uploaded by a YouTube channel, by its `UC…` channel ID, as a cursor-paginated list. Useful for profiling a channel's catalog, monitoring uploads, or building an archive.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "channel_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubeVideoPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/hashtags/{tag}/videos": {
      "get": {
        "operationId": "getYoutubeHashtagsByTagVideos",
        "summary": "List videos for a YouTube hashtag",
        "description": "Return the videos YouTube surfaces for a hashtag, by tag (with or without a leading `#`), as a cursor-paginated list. Useful for tracking a campaign or trend across creators.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Hashtag, with or without a leading `#`, e.g. `lofi`."
            },
            "required": true,
            "description": "Hashtag, with or without a leading `#`, e.g. `lofi`.",
            "name": "tag",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubeVideoPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/playlists/{playlist_id}": {
      "get": {
        "operationId": "getYoutubePlaylistsByPlaylistId",
        "summary": "Get a YouTube playlist by id",
        "description": "Return a YouTube playlist's details by its `PL…` playlist ID — title, description, owner channel, video and view counts, and last-updated time. Useful as the entry point before listing the playlist's videos.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "YouTube playlist id (`PL…`)."
            },
            "required": true,
            "description": "YouTube playlist id (`PL…`).",
            "name": "playlist_id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/YouTubePlaylist"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/playlists/{playlist_id}/videos": {
      "get": {
        "operationId": "getYoutubePlaylistsByPlaylistIdVideos",
        "summary": "List videos in a YouTube playlist",
        "description": "Return the videos in a YouTube playlist, by its `PL…` playlist ID, as a cursor-paginated list in playlist order. Useful for ingesting a curated series or course in sequence.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "playlist_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubeVideoPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/resolve/channel-id": {
      "get": {
        "operationId": "getYoutubeResolveChannelId",
        "summary": "Resolve a YouTube channel URL to its UC… channel id",
        "description": "Resolve any YouTube channel URL form (`@handle`, `/c/`, or `/channel/`) into its canonical `UC…` channel ID. A lookup helper — useful for normalizing links before calling channel-level endpoints.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uri",
              "description": "Full channel URL — supports `youtube.com/@handle`, `/channel/UC…`, `/c/name`."
            },
            "required": true,
            "description": "Full channel URL — supports `youtube.com/@handle`, `/channel/UC…`, `/c/name`.",
            "name": "url",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string"
                        },
                        "channel_id": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url",
                        "channel_id"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/search/channels": {
      "get": {
        "operationId": "getYoutubeSearchChannels",
        "summary": "Search YouTube channels by keyword",
        "description": "Search YouTube channels by keyword, returning matching channels with handle, description, and subscriber count. Useful for discovering creators in a niche and building competitor sets.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword."
            },
            "required": true,
            "description": "Search keyword.",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubeChannelPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/search/playlists": {
      "get": {
        "operationId": "getYoutubeSearchPlaylists",
        "summary": "Search YouTube playlists by keyword",
        "description": "Search YouTube playlists by keyword, returning matching playlists with owner channel and video count. Useful for finding curated collections and series on a topic.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword."
            },
            "required": true,
            "description": "Search keyword.",
            "name": "q",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubePlaylistPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/search": {
      "get": {
        "operationId": "getYoutubeSearch",
        "summary": "Search YouTube videos by keyword",
        "description": "Search YouTube videos by keyword, with optional sort, upload-date, duration, region, and language filters. Returns matching videos with title, channel, and view count. Useful for topic research, competitive monitoring, and content-gap analysis.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "Search keyword."
            },
            "required": true,
            "description": "Search keyword.",
            "name": "q",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "relevance",
                "date",
                "views",
                "rating"
              ],
              "description": "Result ordering (default `relevance`)."
            },
            "required": false,
            "description": "Result ordering (default `relevance`).",
            "name": "sort_by",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "hour",
                "today",
                "week",
                "month",
                "year"
              ],
              "description": "Restrict to videos uploaded within this window."
            },
            "required": false,
            "description": "Restrict to videos uploaded within this window.",
            "name": "upload_date",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "short",
                "medium",
                "long"
              ],
              "description": "Restrict by video length bucket."
            },
            "required": false,
            "description": "Restrict by video length bucket.",
            "name": "duration",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 2,
              "maxLength": 2,
              "description": "ISO 3166 country code, e.g. `US`."
            },
            "required": false,
            "description": "ISO 3166 country code, e.g. `US`.",
            "name": "region",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "description": "Language code, e.g. `en`."
            },
            "required": false,
            "description": "Language code, e.g. `en`.",
            "name": "language",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubeVideoPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/trending": {
      "get": {
        "operationId": "getYoutubeTrending",
        "summary": "Browse YouTube's trending videos",
        "description": "Return YouTube's country-aware trending videos, optionally scoped to a section (now, music, gaming, or movies). Useful for tracking what is gaining traction in a given market and timing content to live interest.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 2,
              "maxLength": 2,
              "description": "Optional ISO 3166 country code, e.g. `US` (default), `GB`."
            },
            "required": false,
            "description": "Optional ISO 3166 country code, e.g. `US` (default), `GB`.",
            "name": "country",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "now",
                "music",
                "gaming",
                "movies"
              ],
              "description": "Optional trending section (default `now`)."
            },
            "required": false,
            "description": "Optional trending section (default `now`).",
            "name": "type",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "description": "Optional language code, e.g. `en`."
            },
            "required": false,
            "description": "Optional language code, e.g. `en`.",
            "name": "language_code",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/YouTubeVideoPreview"
                          }
                        }
                      },
                      "required": [
                        "items"
                      ]
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/videos/{video_id}/captions": {
      "get": {
        "operationId": "getYoutubeVideosByVideoIdCaptions",
        "summary": "List a YouTube video's caption tracks",
        "description": "Return the caption/subtitle tracks available for a YouTube video, by video ID — language, a timed-text url per track, and the languages YouTube can auto-translate into. Useful for transcript pipelines and accessibility tooling.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "video_id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/YouTubeCaptions"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/videos/{video_id}/comments": {
      "get": {
        "operationId": "getYoutubeVideosByVideoIdComments",
        "summary": "List comments on a YouTube video",
        "description": "Return the comments on a YouTube video, by video ID, as a cursor-paginated list — author, text, like and reply counts. Sort by top (default) or newest. Useful for audience sentiment, FAQ mining, and creator feedback analysis.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "video_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "top",
                "newest"
              ],
              "description": "Comment ordering: `top` (default) or `newest`."
            },
            "required": false,
            "description": "Comment ordering: `top` (default) or `newest`.",
            "name": "sort_by",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubeComment"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/videos/{video_id}/related": {
      "get": {
        "operationId": "getYoutubeVideosByVideoIdRelated",
        "summary": "List YouTube videos related to a given video",
        "description": "Return the videos YouTube recommends as related to a given video, by video ID. Useful for mapping a topic's surrounding content and discovering adjacent creators.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "video_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "cursor",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/YouTubeVideoPreview"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "pagination",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/videos/{video_id}": {
      "get": {
        "operationId": "getYoutubeVideosByVideoId",
        "summary": "Get a YouTube video by id",
        "description": "Return a single YouTube video's details by its video ID — title, description, channel, duration, category, publish time, and view and like counts. Useful for hydrating a known video or checking its current engagement.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "YouTube video id, e.g. `oaSNBz4qMQY`."
            },
            "required": true,
            "description": "YouTube video id, e.g. `oaSNBz4qMQY`.",
            "name": "video_id",
            "in": "path"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/YouTubeVideo"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/youtube/videos/{video_id}/transcript": {
      "get": {
        "operationId": "getYoutubeVideosByVideoIdTranscript",
        "summary": "Get a YouTube video's transcript",
        "description": "Return the transcript text for a YouTube video, by video ID, as ordered timestamped segments plus a concatenated plain-text field. Picks the caption track for the requested `lang` (default English, then the first available track), fetches its timed-text and parses it server-side. Returns 404 when the video has no captions.",
        "tags": [
          "youtube"
        ],
        "x-unifapi-billing": {
          "mode": "record_metered",
          "credits_per_record": 1,
          "minimum_credits": 1
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1
            },
            "required": true,
            "name": "video_id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "minLength": 2,
              "maxLength": 35,
              "description": "Caption language code to transcribe, e.g. `en` or `es`. Defaults to English."
            },
            "required": false,
            "description": "Caption language code to transcribe, e.g. `en` or `es`. Defaults to English.",
            "name": "lang",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/UnifapiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_id": {
                      "type": "string",
                      "description": "UnifAPI request id for support and ledger correlation."
                    },
                    "data": {
                      "$ref": "#/components/schemas/YouTubeTranscript"
                    },
                    "billing": {
                      "$ref": "#/components/schemas/Billing"
                    }
                  },
                  "required": [
                    "request_id",
                    "data",
                    "billing"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation or invalid-id error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing, invalid, disabled, revoked, or expired UnifAPI API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Insufficient workspace credits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limited",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "502": {
            "description": "Source error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Source unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "webhooks": {},
  "x-payment-info": {
    "protocol": "MPP",
    "scheme": "Payment",
    "status": 402,
    "errorType": "insufficient_credits",
    "currency": "USD",
    "unit": "credit",
    "unitPrice": "0.001",
    "network": "stripe",
    "topUpUrl": "https://api.unifapi.com/dashboard/billing",
    "pricingUrl": "https://unifapi.com/pricing",
    "docsUrl": "https://unifapi.com/pricing.md",
    "description": "Premium public-data operations are billed per record in prepaid credits. On HTTP 402 the response carries a WWW-Authenticate: Payment challenge plus a JSON body with the credits required and the current balance. Top up credits at the topUpUrl, then retry with the same request (send an Idempotency-Key header to make the retry safe)."
  }
}