{
  "product": "Social Fetch",
  "generatedFrom": [
    "OpenAPI",
    "public-api-endpoint-metadata",
    "docs-operation-urls.json",
    "sdk-method-docs.ts"
  ],
  "docs": {
    "llmsTxtUrl": "https://www.socialfetch.dev/llms.txt",
    "llmsEndpointsTxtUrl": "https://www.socialfetch.dev/llms-endpoints.txt",
    "llmsJsonUrl": "https://www.socialfetch.dev/llms.json",
    "agentsTxtUrl": "https://www.socialfetch.dev/agents.txt",
    "docsHomeMarkdownUrl": "https://www.socialfetch.dev/docs.mdx",
    "quickstartMarkdownUrl": "https://www.socialfetch.dev/docs/quickstart.mdx",
    "sdkMarkdownUrl": "https://www.socialfetch.dev/docs/sdk.mdx",
    "capabilityMatrixMarkdownUrl": "https://www.socialfetch.dev/docs/capability-matrix.mdx",
    "recipesMarkdownUrl": "https://www.socialfetch.dev/docs/recipes.mdx",
    "apiIndexMarkdownUrl": "https://www.socialfetch.dev/docs/api.mdx",
    "errorsMarkdownUrl": "https://www.socialfetch.dev/docs/errors.mdx",
    "creditsMarkdownUrl": "https://www.socialfetch.dev/docs/credits.mdx",
    "integrationsMarkdownUrl": "https://www.socialfetch.dev/docs/integrations.mdx",
    "integrationsN8nMarkdownUrl": "https://www.socialfetch.dev/docs/integrations/n8n.mdx",
    "integrationsApifyMarkdownUrl": "https://www.socialfetch.dev/docs/integrations/apify.mdx",
    "integrationsMakeMarkdownUrl": "https://www.socialfetch.dev/docs/integrations/make.mdx",
    "openApiUrl": "https://www.socialfetch.dev/openapi.json"
  },
  "counts": {
    "documentedOperations": 206,
    "sdkWrappedOperations": 183,
    "httpOnlyOperations": 23
  },
  "operations": [
    {
      "method": "GET",
      "path": "/v1/tiktok/profiles/{handle}",
      "summary": "Get TikTok profile",
      "tag": "TikTok",
      "operationId": "tiktok.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/profiles/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getProfile",
        "signature": "client.tiktok.getProfile({ handle })",
        "clientCall": "client.tiktok.getProfile({ handle })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/profiles/{handle}/videos",
      "summary": "List TikTok profile videos",
      "tag": "TikTok",
      "operationId": "tiktok.profile.videos.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit base. With `hostMedia`, +2 credits per hosted asset (up to 24 assets, 49 credits max).",
      "docsPathname": "/docs/api/v1/tiktok/profiles/handle/videos/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/videos/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/videos/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getProfileVideos",
        "signature": "client.tiktok.getProfileVideos({ handle, sortBy?, cursor?, userId?, region?, trim? })",
        "clientCall": "client.tiktok.getProfileVideos({ handle, cursor? })"
      },
      "parameterNames": [
        "handle",
        "sortBy",
        "cursor",
        "userId",
        "region",
        "trim",
        "hostMedia"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle whose videos should be listed."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "latest",
            "popular"
          ],
          "description": "Optional sort order for the returned TikTok videos."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        },
        {
          "name": "userId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional TikTok user id to speed up the request."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 3166-1 country code for the request."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Optional flag for a smaller response with fewer fields."
        },
        {
          "name": "hostMedia",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, hosts source media for 90 days and returns delivery URLs in each video's `hostedMedia`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle whose videos should be listed."
        },
        {
          "name": "userId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional TikTok user id to speed up the request."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [
        "latest",
        "popular"
      ],
      "orderingHint": "Supported sort options: latest, popular.",
      "supportsTrim": true,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "An empty `data.videos` array can mean no videos in the selected sort window, a private profile, or other cases—there is no `lookupStatus` field on this route.",
        "disambiguation": "Call `GET /v1/tiktok/profiles/{handle}` when you need explicit `lookupStatus` including `private` or `not_found` before interpreting an empty video list."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/profiles/{handle}/followers",
      "summary": "List TikTok profile followers",
      "tag": "TikTok",
      "operationId": "tiktok.profile.followers.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/profiles/handle/followers/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/followers/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/followers/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getProfileFollowers",
        "signature": "client.tiktok.getProfileFollowers({ handle, cursor?, userId?, trim? })",
        "clientCall": "client.tiktok.getProfileFollowers({ handle, cursor? })"
      },
      "parameterNames": [
        "handle",
        "cursor",
        "userId",
        "trim"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle whose followers should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        },
        {
          "name": "userId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional TikTok user id to speed up the request."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Optional flag for a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle whose followers should be listed."
        },
        {
          "name": "userId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional TikTok user id to speed up the request."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "hidden",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/profiles/{handle}/following",
      "summary": "List TikTok profile following",
      "tag": "TikTok",
      "operationId": "tiktok.profile.following.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/profiles/handle/following/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/following/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/following/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getProfileFollowing",
        "signature": "client.tiktok.getProfileFollowing({ handle, cursor?, trim? })",
        "clientCall": "client.tiktok.getProfileFollowing({ handle, cursor? })"
      },
      "parameterNames": [
        "handle",
        "cursor",
        "trim"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle whose following list should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Optional flag for a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle whose following list should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "hidden",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/profiles/{handle}/region",
      "summary": "Get TikTok profile region",
      "tag": "TikTok",
      "operationId": "tiktok.profile.region.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/profiles/handle/region/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/region/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/region/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getProfileRegion",
        "signature": "client.tiktok.getProfileRegion({ handle })",
        "clientCall": "client.tiktok.getProfileRegion({ handle })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/profiles/{handle}/audience",
      "summary": "Get TikTok profile audience",
      "tag": "TikTok",
      "operationId": "tiktok.profile.audience.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "30 credits per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/profiles/handle/audience/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/audience/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/audience/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getProfileAudience",
        "signature": "client.tiktok.getProfileAudience({ handle })",
        "clientCall": "client.tiktok.getProfileAudience({ handle })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/profiles/{handle}/live",
      "summary": "Get TikTok live stream",
      "tag": "TikTok",
      "operationId": "tiktok.profile.live.check",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/profiles/handle/live/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/live/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/live/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getProfileLive",
        "signature": "client.tiktok.getProfileLive({ handle })",
        "clientCall": "client.tiktok.getProfileLive({ handle })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/profiles/{handle}/engagement",
      "summary": "Get TikTok profile engagement audit",
      "tag": "TikTok",
      "operationId": "tiktok.profile.engagement.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "5 credits per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/profiles/handle/engagement/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/engagement/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/engagement/get.mdx",
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/users/search",
      "summary": "Search TikTok users",
      "tag": "TikTok",
      "operationId": "tiktok.users.search",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/users/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/users/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/users/search/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "searchUsers",
        "signature": "client.tiktok.searchUsers({ query, cursor? })",
        "clientCall": "client.tiktok.searchUsers({ query })"
      },
      "parameterNames": [
        "query",
        "cursor"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for TikTok users."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for TikTok users."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/search",
      "summary": "Search TikTok videos",
      "tag": "TikTok",
      "operationId": "tiktok.search.videos.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/search/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "searchVideos",
        "signature": "client.tiktok.searchVideos({ query, datePosted?, sortBy?, region?, cursor?, trim? })",
        "clientCall": "client.tiktok.searchVideos({ query: \"web scraping\" })"
      },
      "parameterNames": [
        "query",
        "datePosted",
        "sortBy",
        "region",
        "cursor",
        "trim"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for TikTok videos."
        },
        {
          "name": "datePosted",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "yesterday",
            "this-week",
            "this-month",
            "last-3-months",
            "last-6-months",
            "all-time"
          ],
          "description": "Optional upload date filter for video results."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "relevance",
            "most-liked",
            "date-posted"
          ],
          "description": "Optional sort order for search results."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional two-letter ISO 3166-1 country code for localized search results."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for TikTok videos."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [
        "relevance",
        "most-liked",
        "date-posted"
      ],
      "orderingHint": "Supported sort options: relevance, most-liked, date-posted.",
      "supportsTrim": true,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "This returns videos only. Use GET /v1/tiktok/search/top when you need Top results that also include photo carousels."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/search/top",
      "summary": "Search TikTok Top results",
      "tag": "TikTok",
      "operationId": "tiktok.search.top.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/search/top/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/search/top/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/search/top/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "searchTop",
        "signature": "client.tiktok.searchTop({ query, datePosted?, sortBy?, region?, cursor? })",
        "clientCall": "client.tiktok.searchTop({ query: \"funny\" })"
      },
      "parameterNames": [
        "query",
        "datePosted",
        "sortBy",
        "region",
        "cursor"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for TikTok Top results."
        },
        {
          "name": "datePosted",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "yesterday",
            "this-week",
            "this-month",
            "last-3-months",
            "last-6-months",
            "all-time"
          ],
          "description": "Optional upload date filter for video results."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "relevance",
            "most-liked",
            "date-posted"
          ],
          "description": "Optional sort order for search results."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional two-letter ISO 3166-1 country code for localized search results."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for TikTok Top results."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [
        "relevance",
        "most-liked",
        "date-posted"
      ],
      "orderingHint": "Supported sort options: relevance, most-liked, date-posted.",
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "TikTok Top search returns videos and photo carousels. Use GET /v1/tiktok/search for videos-only keyword search, or GET /v1/tiktok/search/hashtags for hashtag search."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/search/hashtags",
      "summary": "Search TikTok by hashtag",
      "tag": "TikTok",
      "operationId": "tiktok.search.hashtag.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/search/hashtags/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/search/hashtags/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/search/hashtags/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "searchHashtags",
        "signature": "client.tiktok.searchHashtags({ hashtag, region?, cursor?, trim? })",
        "clientCall": "client.tiktok.searchHashtags({ hashtag: \"fyp\" })"
      },
      "parameterNames": [
        "hashtag",
        "region",
        "cursor",
        "trim"
      ],
      "parameters": [
        {
          "name": "hashtag",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Hashtag to search for. A leading # is optional."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 3166-1 country code for the request. This sets the proxy region and does not filter results to that country only."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Whether to request a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Use `data.page.hasMore` and `data.page.nextCursor` for pagination. Repeat the same hashtag and filters when requesting the next page."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/search/suggestions",
      "summary": "Get TikTok search suggestions",
      "tag": "TikTok",
      "operationId": "tiktok.search.suggestions.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/search/suggestions/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/search/suggestions/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/search/suggestions/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "searchSuggestions",
        "signature": "client.tiktok.searchSuggestions({ query, region? })",
        "clientCall": "client.tiktok.searchSuggestions({ query: \"dogs\" })"
      },
      "parameterNames": [
        "query",
        "region"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for TikTok suggestions."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional two-letter ISO 3166-1 country code for localized suggestions."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for TikTok suggestions."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "An empty suggestions array is a valid success when there are no autocomplete matches.",
        "disambiguation": "Use this for typeahead query suggestions. For videos use GET /v1/tiktok/search, for hashtags GET /v1/tiktok/search/hashtags, for users GET /v1/tiktok/users/search."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/videos",
      "summary": "Get TikTok video",
      "tag": "TikTok",
      "operationId": "tiktok.video.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit base. With `downloadMedia`, Hosted media download. Up to 11 credits max.",
      "docsPathname": "/docs/api/v1/tiktok/videos/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/videos/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/videos/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getVideo",
        "signature": "client.tiktok.getVideo({ url, region?, trim?, downloadMedia? })",
        "clientCall": "client.tiktok.getVideo({ url })"
      },
      "parameterNames": [
        "url",
        "region",
        "trim",
        "downloadMedia",
        "getTranscript"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the video or photo post."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 3166-1 country code used to route the request when needed."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer fields."
        },
        {
          "name": "downloadMedia",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, includes hosted CDN URLs in `downloads` when available. Adds 10 credits (11 total with the base lookup) on successful lookups, even if `downloads` is empty."
        },
        {
          "name": "getTranscript",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, includes the video transcript (WEBVTT) in `transcript` when one is available."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the video or photo post."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": true
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/videos/comments",
      "summary": "List TikTok video comments",
      "tag": "TikTok",
      "operationId": "tiktok.video.comments.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/videos/comments/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/videos/comments/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/videos/comments/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getVideoComments",
        "signature": "client.tiktok.getVideoComments({ url, cursor?, trim? })",
        "clientCall": "client.tiktok.getVideoComments({ url })"
      },
      "parameterNames": [
        "url",
        "cursor",
        "trim"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the TikTok video whose comments should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque cursor from a previous response to fetch the next page."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the TikTok video whose comments should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Cursor pagination with variable page size — use `data.page.hasMore` and `data.page.nextCursor`; do not assume a fixed number of comments per page or loop on `totalComments` alone."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/videos/comments/replies",
      "summary": "List TikTok comment replies",
      "tag": "TikTok",
      "operationId": "tiktok.video.comments.replies.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/videos/comments/replies/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/videos/comments/replies/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/videos/comments/replies/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getVideoCommentReplies",
        "signature": "client.tiktok.getVideoCommentReplies({ commentId, url, cursor? })",
        "clientCall": "client.tiktok.getVideoCommentReplies({ commentId, url })"
      },
      "parameterNames": [
        "commentId",
        "url",
        "cursor"
      ],
      "parameters": [
        {
          "name": "commentId",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Parent comment id from List TikTok video comments (`data.comments[].id`)."
        },
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the TikTok video that contains the parent comment."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque cursor from a previous response to fetch the next page."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "commentId",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Parent comment id from List TikTok video comments (`data.comments[].id`)."
        },
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the TikTok video that contains the parent comment."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Requires parent `commentId` from List TikTok video comments plus the same video `url`. Paginate with `data.page.hasMore` and `data.page.nextCursor`; do not assume a fixed page size."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/videos/download",
      "summary": "Download TikTok video or photo post media",
      "tag": "TikTok",
      "operationId": "tiktok.video.download.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "11 credits per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/videos/download/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/videos/download/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/videos/download/get.mdx",
      "parameterNames": [
        "url",
        "region"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the video or photo post."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 3166-1 country code used to route the request when needed."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the video or photo post."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/videos/transcript",
      "summary": "Get TikTok video transcript",
      "tag": "TikTok",
      "operationId": "tiktok.video.transcript.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit base. With `useAiFallback`, AI transcript fallback. Up to 11 credits max.",
      "docsPathname": "/docs/api/v1/tiktok/videos/transcript/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/videos/transcript/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/videos/transcript/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getVideoTranscript",
        "signature": "client.tiktok.getVideoTranscript({ url, language?, useAiFallback? })",
        "clientCall": "client.tiktok.getVideoTranscript({ url })"
      },
      "parameterNames": [
        "url",
        "language",
        "useAiFallback"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the TikTok video whose transcript should be returned."
        },
        {
          "name": "language",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional two-letter language code to request a transcript in a specific language when available."
        },
        {
          "name": "useAiFallback",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, uses Social Fetch's AI fallback when a transcript is not otherwise available. Adds 10 credits on completed lookups (11 total with the base lookup)."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the TikTok video whose transcript should be returned."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/feed/trending",
      "summary": "List TikTok trending feed",
      "tag": "TikTok",
      "operationId": "tiktok.feed.trending.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/feed/trending/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/feed/trending/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/feed/trending/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "listTrendingFeed",
        "signature": "client.tiktok.listTrendingFeed({ region, trim? })",
        "clientCall": "client.tiktok.listTrendingFeed({ region: 'US' })"
      },
      "parameterNames": [
        "region",
        "trim"
      ],
      "parameters": [
        {
          "name": "region",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Two-letter ISO 3166-1 country code for the request."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, requests a smaller response with fewer optional fields."
        }
      ],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Repeat the same request for a fresh trending batch. New and overlapping posts are both possible. No cursor or page parameters."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/collections/videos",
      "summary": "List TikTok collection videos",
      "tag": "TikTok",
      "operationId": "tiktok.collection.videos.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/collections/videos/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/collections/videos/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/collections/videos/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "listCollectionVideos",
        "signature": "client.tiktok.listCollectionVideos({ url, cursor? })",
        "clientCall": "client.tiktok.listCollectionVideos({ url: \"https://www.tiktok.com/@kibblemaster808/collection/Want-to-go-7665668414573546258\" })"
      },
      "parameterNames": [
        "url",
        "cursor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public TikTok collection URL."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public TikTok collection URL."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "An empty `data.videos` array can mean no public videos in this collection, or other cases—there is no `lookupStatus` field on this route."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/songs",
      "summary": "Get TikTok song",
      "tag": "TikTok",
      "operationId": "tiktok.song.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/songs/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/songs/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/songs/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getSong",
        "signature": "client.tiktok.getSong({ id })",
        "clientCall": "client.tiktok.getSong({ id: \"6717159721276540930\" })"
      },
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "TikTok song or sound id. Use the trailing id from a music page URL, or `music.id` from a video lookup."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "TikTok song or sound id. Use the trailing id from a music page URL, or `music.id` from a video lookup."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/music/{clipId}/videos",
      "summary": "List TikTok music videos",
      "tag": "TikTok",
      "operationId": "tiktok.music.videos.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/music/clipid/videos/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/music/clipid/videos/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/music/clipid/videos/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "listMusicVideos",
        "signature": "client.tiktok.listMusicVideos({ clipId, cursor? })",
        "clientCall": "client.tiktok.listMusicVideos({ clipId: \"7439295283975702544\" })"
      },
      "parameterNames": [
        "clipId",
        "cursor"
      ],
      "parameters": [
        {
          "name": "clipId",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok music clip id whose videos should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "An empty `data.videos` array can mean no public videos use this music clip, or other cases—there is no `lookupStatus` field on this route."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/shop/products/search",
      "summary": "Search TikTok Shop products",
      "tag": "TikTok",
      "operationId": "tiktok.shop.products.search",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/shop/products/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/shop/products/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/shop/products/search/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "searchShopProducts",
        "signature": "client.tiktok.searchShopProducts({ query, page?, region? })",
        "clientCall": "client.tiktok.searchShopProducts({ query })"
      },
      "parameterNames": [
        "query",
        "page",
        "region"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for TikTok Shop products."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "1-based results page number. Omit to request the first page. Pagination is page-based."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "US",
            "GB",
            "DE",
            "FR",
            "IT",
            "ID",
            "MY",
            "MX",
            "PH",
            "SG",
            "ES",
            "TH",
            "VN",
            "BR",
            "JP",
            "IE"
          ],
          "description": "Optional country or region code for the product search catalog."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for TikTok Shop products."
        }
      ],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/shop/products",
      "summary": "List TikTok Shop store products",
      "tag": "TikTok",
      "operationId": "tiktok.shop.products.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/shop/products/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/shop/products/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/shop/products/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "listShopProducts",
        "signature": "client.tiktok.listShopProducts({ url, cursor?, region? })",
        "clientCall": "client.tiktok.listShopProducts({ url })"
      },
      "parameterNames": [
        "url",
        "cursor",
        "region"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public TikTok Shop store URL whose products should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor from a previous response. Omit to request the first page."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "US",
            "GB",
            "DE",
            "FR",
            "IT",
            "ID",
            "MY",
            "MX",
            "PH",
            "SG",
            "ES",
            "TH",
            "VN",
            "BR",
            "JP",
            "IE"
          ],
          "description": "Optional region code for the shop catalog. When omitted, the default catalog region is US."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public TikTok Shop store URL whose products should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/products",
      "summary": "Get TikTok Shop product",
      "tag": "TikTok",
      "operationId": "tiktok.product.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/products/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/products/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/products/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getProduct",
        "signature": "client.tiktok.getProduct({ url, region? })",
        "clientCall": "client.tiktok.getProduct({ url })"
      },
      "parameterNames": [
        "url",
        "region"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public TikTok Shop product detail page URL for the product to retrieve."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "US",
            "GB",
            "DE",
            "FR",
            "IT",
            "ID",
            "MY",
            "MX",
            "PH",
            "SG",
            "ES",
            "TH",
            "VN",
            "BR",
            "JP",
            "IE"
          ],
          "description": "Optional country or region code for the product catalog. When omitted, the default catalog region applies."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public TikTok Shop product detail page URL for the product to retrieve."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/products/reviews",
      "summary": "List TikTok Shop product reviews",
      "tag": "TikTok",
      "operationId": "tiktok.product.reviews.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/products/reviews/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/products/reviews/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/products/reviews/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getProductReviews",
        "signature": "client.tiktok.getProductReviews({ url?, productId?, region?, page? })",
        "clientCall": "client.tiktok.getProductReviews({ url: 'https://www.tiktok.com/shop/pdp/...' })"
      },
      "parameterNames": [
        "url",
        "productId",
        "region",
        "page"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public TikTok Shop product detail page URL for the product whose reviews should be listed."
        },
        {
          "name": "productId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "TikTok Shop product identifier. Provide this instead of `url` when you already know the product id."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "US",
            "GB",
            "DE",
            "FR",
            "IT",
            "ID",
            "MY",
            "MX",
            "PH",
            "SG",
            "ES",
            "TH",
            "VN",
            "BR",
            "JP",
            "IE"
          ],
          "description": "Optional country or region code for the product review catalog. When omitted, the default catalog region applies."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "1-based review page number. Omit to request the first page."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public TikTok Shop product detail page URL for the product whose reviews should be listed."
        }
      ],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/profiles/{handle}/showcase-products",
      "summary": "List TikTok profile showcase products",
      "tag": "TikTok",
      "operationId": "tiktok.profile.showcaseProducts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/profiles/handle/showcase-products/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/showcase-products/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/showcase-products/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getProfileShowcaseProducts",
        "signature": "client.tiktok.getProfileShowcaseProducts({ handle, cursor?, region? })",
        "clientCall": "client.tiktok.getProfileShowcaseProducts({ handle, cursor? })"
      },
      "parameterNames": [
        "handle",
        "cursor",
        "region"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle whose profile showcase products should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 3166-1 country code for the request."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "TikTok handle whose profile showcase products should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "An empty `data.products` array can mean no showcased products, a private profile, or other cases—there is no `lookupStatus` field on this route.",
        "disambiguation": "Call `GET /v1/tiktok/profiles/{handle}` when you need explicit profile lookup status before interpreting an empty showcase list."
      }
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/ad-library/ads",
      "summary": "Get TikTok Ad Library ad",
      "tag": "TikTok",
      "operationId": "tiktok.adLibrary.ad.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/ad-library/ads/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/ad-library/ads/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/ad-library/ads/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "getAdLibraryAd",
        "signature": "client.tiktok.getAdLibraryAd({ adId?, url? })",
        "clientCall": "client.tiktok.getAdLibraryAd({ adId: \"1872975048695249\" })"
      },
      "parameterNames": [
        "adId",
        "url"
      ],
      "parameters": [
        {
          "name": "adId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "TikTok Ad Library or Top Ads ad id."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public TikTok Ad Library or Top Ads detail URL for the ad."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public TikTok Ad Library or Top Ads detail URL for the ad."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/tiktok/ad-library/ads/search",
      "summary": "Search TikTok Ad Library ads",
      "tag": "TikTok",
      "operationId": "tiktok.adLibrary.ads.search.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/tiktok/ad-library/ads/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/ad-library/ads/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/tiktok/ad-library/ads/search/get.mdx",
      "sdkMethod": {
        "resource": "tiktok",
        "methodName": "searchAdLibraryAds",
        "signature": "client.tiktok.searchAdLibraryAds({ region?, period?, query?, advertiserName?, orderBy?, industry?, objective?, duration?, likes?, adFormat?, adLanguage?, cursor? })",
        "clientCall": "client.tiktok.searchAdLibraryAds({ query: \"spotify\", region: \"US\" })"
      },
      "parameterNames": [
        "region",
        "period",
        "query",
        "advertiserName",
        "orderBy",
        "industry",
        "objective",
        "duration",
        "likes",
        "adFormat",
        "adLanguage",
        "cursor"
      ],
      "parameters": [
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "DZ",
            "AR",
            "AU",
            "AT",
            "AZ",
            "BH",
            "BD",
            "BY",
            "BE",
            "BO",
            "BR",
            "BG",
            "KH",
            "CA",
            "CL",
            "CO",
            "CR",
            "HR",
            "CY",
            "CZ",
            "DK",
            "DO",
            "EC",
            "EG",
            "EE",
            "FI",
            "FR",
            "DE",
            "GR",
            "GT",
            "JO",
            "HU",
            "ID",
            "IQ",
            "IE",
            "IL",
            "IT",
            "JP",
            "KZ",
            "KE",
            "KW",
            "LV",
            "LB",
            "MY",
            "MX",
            "MA",
            "NL",
            "NZ",
            "NG",
            "NO",
            "OM",
            "PK",
            "PA",
            "PY",
            "PE",
            "PH",
            "PL",
            "PT",
            "PR",
            "QA",
            "LT",
            "RO",
            "SA",
            "RS",
            "SG",
            "SK",
            "SI",
            "ZA",
            "KR",
            "ES",
            "LK",
            "SE",
            "CH",
            "TW",
            "TH",
            "TR",
            "AE",
            "GB",
            "US",
            "UY",
            "VN"
          ],
          "description": "Country code for Top Ads results. Default: `US`."
        },
        {
          "name": "period",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "7",
            "30",
            "180"
          ],
          "description": "Time window in days for Top Ads."
        },
        {
          "name": "query",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional keyword to search ad titles and content."
        },
        {
          "name": "advertiserName",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Search the public TikTok Ads Library by advertiser name. When set, results come from the public Ads Library instead of Top Ads."
        },
        {
          "name": "orderBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "for-you",
            "impression",
            "play-2s-rate",
            "play-6s-rate",
            "cvr",
            "ctr",
            "like"
          ],
          "description": "Sort metric for Top Ads. `cvr`: conversion rate. `ctr`: click-through rate. `play-2s-rate`/`play-6s-rate`: rate viewers played past the 2s/6s mark. Default: `for-you`."
        },
        {
          "name": "industry",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "apparel-accessories",
            "appliances",
            "apps",
            "baby-kids-maternity",
            "beauty-personal-care",
            "business-services",
            "ecommerce-non-app",
            "education",
            "financial-services",
            "food-beverage",
            "games",
            "health",
            "home-improvement",
            "household-products",
            "life-services",
            "news-entertainment",
            "pets",
            "sports-outdoor",
            "tech-electronics",
            "travel",
            "vehicle-transportation"
          ],
          "description": "Industry filter for Top Ads."
        },
        {
          "name": "objective",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "app-installs",
            "conversions",
            "lead-generation",
            "product-sales",
            "reach",
            "traffic",
            "video-views"
          ],
          "description": "Campaign objective filter for Top Ads."
        },
        {
          "name": "duration",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "under-10s",
            "10-20s",
            "20-30s",
            "30-40s",
            "40-50s",
            "over-50s"
          ],
          "description": "Video duration filter for Top Ads."
        },
        {
          "name": "likes",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "top-1-20",
            "top-21-40",
            "top-41-60",
            "top-61-80",
            "top-81-100"
          ],
          "description": "Likes percentile filter for Top Ads."
        },
        {
          "name": "adFormat",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "spark-ads",
            "non-spark-ads"
          ],
          "description": "Ad format filter for Top Ads. `spark-ads`: ads boosted from an organic creator/brand TikTok post. `non-spark-ads`: ads uploaded directly as ad creative, not boosted from an existing post."
        },
        {
          "name": "adLanguage",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "en",
            "es",
            "ar",
            "vi",
            "th",
            "de",
            "id",
            "pt",
            "fr",
            "ms",
            "nl",
            "ja",
            "it",
            "ro",
            "zh-Hant",
            "ko"
          ],
          "description": "Ad language filter for Top Ads."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional keyword to search ad titles and content."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/profiles",
      "summary": "Get Facebook profile",
      "tag": "Facebook",
      "operationId": "facebook.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/profiles/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/profiles/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/profiles/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getProfile",
        "signature": "client.facebook.getProfile({ url, includeBusinessHours? })",
        "clientCall": "client.facebook.getProfile({ url, includeBusinessHours? })"
      },
      "parameterNames": [
        "url",
        "includeBusinessHours"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Facebook public profile or page URL to look up."
        },
        {
          "name": "includeBusinessHours",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Optional: include structured business hours in the response when available."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Facebook public profile or page URL to look up."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/profiles/posts",
      "summary": "List Facebook profile posts",
      "tag": "Facebook",
      "operationId": "facebook.profile.posts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit base. With `hostMedia`, +2 credits per hosted asset (up to 24 assets, 49 credits max).",
      "docsPathname": "/docs/api/v1/facebook/profiles/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/profiles/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/profiles/posts/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getProfilePosts",
        "signature": "client.facebook.getProfilePosts({ url?, pageId?, cursor? })",
        "clientCall": "client.facebook.getProfilePosts({ url?, pageId?, cursor? })"
      },
      "parameterNames": [
        "url",
        "pageId",
        "cursor",
        "hostMedia"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Full public Facebook profile or page URL."
        },
        {
          "name": "pageId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Facebook page or profile id when you have it instead of a full URL."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        },
        {
          "name": "hostMedia",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, hosts source media for 90 days and returns delivery URLs in each post's `hostedMedia`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Full public Facebook profile or page URL."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "Use `data.lookupStatus` to distinguish `not_found` from `found` with an empty `posts` array (including private or restricted profiles that return no posts).",
        "disambiguation": "Call `GET /v1/facebook/profiles` when you need `private` vs other profile states; this list route only exposes `found` / `not_found`."
      }
    },
    {
      "method": "GET",
      "path": "/v1/facebook/profiles/reels",
      "summary": "List Facebook profile reels",
      "tag": "Facebook",
      "operationId": "facebook.profile.reels.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit base. With `hostMedia`, +2 credits per hosted asset (up to 24 assets, 49 credits max).",
      "docsPathname": "/docs/api/v1/facebook/profiles/reels/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/profiles/reels/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/profiles/reels/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getProfileReels",
        "signature": "client.facebook.getProfileReels({ url, cursor? })",
        "clientCall": "client.facebook.getProfileReels({ url })"
      },
      "parameterNames": [
        "url",
        "cursor",
        "hostMedia"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Facebook profile or page URL whose reels should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        },
        {
          "name": "hostMedia",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, hosts source media for 90 days and returns delivery URLs in each reel's `hostedMedia`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Facebook profile or page URL whose reels should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/profiles/photos",
      "summary": "List Facebook profile photos",
      "tag": "Facebook",
      "operationId": "facebook.profile.photos.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit base. With `hostMedia`, +2 credits per hosted asset (up to 24 assets, 49 credits max).",
      "docsPathname": "/docs/api/v1/facebook/profiles/photos/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/profiles/photos/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/profiles/photos/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getProfilePhotos",
        "signature": "client.facebook.getProfilePhotos({ url, cursor? })",
        "clientCall": "client.facebook.getProfilePhotos({ url })"
      },
      "parameterNames": [
        "url",
        "cursor",
        "hostMedia"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Facebook profile or page URL whose photos should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        },
        {
          "name": "hostMedia",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, hosts source media for 90 days and returns delivery URLs in each photo's `hostedMedia`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Facebook profile or page URL whose photos should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/profiles/events",
      "summary": "List Facebook profile events",
      "tag": "Facebook",
      "operationId": "facebook.profile.events.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/profiles/events/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/profiles/events/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/profiles/events/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getProfileEvents",
        "signature": "client.facebook.getProfileEvents({ url, cursor? })",
        "clientCall": "client.facebook.getProfileEvents({ url })"
      },
      "parameterNames": [
        "url",
        "cursor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Facebook profile or page URL."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Facebook profile or page URL."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "`lookupStatus: found` with an empty `events` array is the usual empty outcome. It can mean the Page has no public events, or that the URL did not resolve. This route cannot tell those apart. Use `GET /v1/facebook/profiles` when you need an existence check. `not_found` appears only when upstream explicitly signals a miss.",
        "disambiguation": "This lists events hosted by a public Facebook Page. It is not city-wide event explore or event search by name."
      }
    },
    {
      "method": "GET",
      "path": "/v1/facebook/posts",
      "summary": "Get Facebook post or reel",
      "tag": "Facebook",
      "operationId": "facebook.post.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/posts/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getPost",
        "signature": "client.facebook.getPost({ url, includeComments?, includeTranscript? })",
        "clientCall": "client.facebook.getPost({ url })"
      },
      "parameterNames": [
        "url",
        "includeComments",
        "includeTranscript"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public permalink to the Facebook post or reel."
        },
        {
          "name": "includeComments",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, includes a sample of top-level comments when available."
        },
        {
          "name": "includeTranscript",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, includes a plain-text transcript when available for the video."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public permalink to the Facebook post or reel."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/posts/comments",
      "summary": "List Facebook post or reel comments",
      "tag": "Facebook",
      "operationId": "facebook.post.comments.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/posts/comments/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/posts/comments/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/posts/comments/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getPostComments",
        "signature": "client.facebook.getPostComments({ url?, cursor?, feedbackId? })",
        "clientCall": "client.facebook.getPostComments({ url })"
      },
      "parameterNames": [
        "url",
        "cursor",
        "feedbackId"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Link to the Facebook post or reel whose comments should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque cursor from a previous response to fetch the next page."
        },
        {
          "name": "feedbackId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Facebook feedback identifier for the target post; when available it can improve lookup performance."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Link to the Facebook post or reel whose comments should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/posts/comments/replies",
      "summary": "List Facebook comment replies",
      "tag": "Facebook",
      "operationId": "facebook.post.comments.replies.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/posts/comments/replies/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/posts/comments/replies/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/posts/comments/replies/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getPostCommentReplies",
        "signature": "client.facebook.getPostCommentReplies({ cursor })",
        "clientCall": "client.facebook.getPostCommentReplies({ cursor: comment.repliesCursor })"
      },
      "parameterNames": [
        "cursor"
      ],
      "parameters": [
        {
          "name": "cursor",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Comment `repliesCursor` from post comments, or `page.nextCursor` to paginate replies."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/posts/transcript",
      "summary": "Get Facebook post transcript",
      "tag": "Facebook",
      "operationId": "facebook.post.transcript.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/posts/transcript/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/posts/transcript/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/posts/transcript/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getPostTranscript",
        "signature": "client.facebook.getPostTranscript({ url })",
        "clientCall": "client.facebook.getPostTranscript({ url })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Facebook post or reel whose transcript should be returned."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Facebook post or reel whose transcript should be returned."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "lookup_failed"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/groups",
      "summary": "Get Facebook group",
      "tag": "Facebook",
      "operationId": "facebook.group.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/groups/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/groups/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/groups/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getGroup",
        "signature": "client.facebook.getGroup({ url?, groupId? })",
        "clientCall": "client.facebook.getGroup({ groupId: \"366190054572553\" })"
      },
      "parameterNames": [
        "url",
        "groupId"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public Facebook group URL."
        },
        {
          "name": "groupId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Numeric Facebook group id when you have it instead of a full URL."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public Facebook group URL."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "`lookupStatus: not_found` often means the group URL or ID was wrong, private, or unresolved.",
        "disambiguation": "Pass a full Facebook group URL (`facebook.com/groups/{id-or-slug}/…`, including `/about`) or a numeric `groupId`. Profile and Page URLs belong on `GET /v1/facebook/profiles`. For the group feed, use `GET /v1/facebook/groups/posts`."
      }
    },
    {
      "method": "GET",
      "path": "/v1/facebook/groups/posts",
      "summary": "List Facebook group posts",
      "tag": "Facebook",
      "operationId": "facebook.group.posts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/groups/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/groups/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/groups/posts/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "listGroupPosts",
        "signature": "client.facebook.listGroupPosts({ url, sortBy?, cursor? })",
        "clientCall": "client.facebook.listGroupPosts({ url, sortBy?, cursor? })"
      },
      "parameterNames": [
        "url",
        "sortBy",
        "cursor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Facebook group URL whose posts should be listed."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "top",
            "recentActivity",
            "chronological",
            "chronologicalListings"
          ],
          "description": "Optional sort order for posts returned from the group feed. `top`: Facebook's default relevance ranking. `recentActivity`: sorted by most recent comment/reaction activity. `chronological`: regular posts sorted by post time, newest first. `chronologicalListings`: Facebook's separate feed of listing-style posts (e.g. items for sale) within the group, sorted by time."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Facebook group URL whose posts should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [
        "top",
        "recentActivity",
        "chronological",
        "chronologicalListings"
      ],
      "orderingHint": "Supported sort options: top, recentActivity, chronological, chronologicalListings.",
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "`lookupStatus: not_found` often means the group URL was wrong or unresolved. Each page bills separately, including `not_found` outcomes.",
        "disambiguation": "Pass a full Facebook group URL (`facebook.com/groups/{id-or-slug}/…`), not a profile or page URL. Use `sortBy: chronological` for general feeds; use `chronologicalListings` for Buy/Sell marketplace groups. Upstream returns a small number of posts per page (often around three). No server-side keyword filter — filter client-side on `text` after fetching pages."
      }
    },
    {
      "method": "GET",
      "path": "/v1/facebook/marketplace/locations/search",
      "summary": "Search Facebook Marketplace locations",
      "tag": "Facebook",
      "operationId": "facebook.marketplace.locations.search",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/marketplace/locations/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/marketplace/locations/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/marketplace/locations/search/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "searchMarketplaceLocations",
        "signature": "client.facebook.searchMarketplaceLocations({ query })",
        "clientCall": "client.facebook.searchMarketplaceLocations({ query: \"Austin\" })"
      },
      "parameterNames": [
        "query"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "City or place name to search for Facebook Marketplace locations."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "City or place name to search for Facebook Marketplace locations."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/marketplace/search",
      "summary": "Search Facebook Marketplace listings",
      "tag": "Facebook",
      "operationId": "facebook.marketplace.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/marketplace/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/marketplace/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/marketplace/search/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "searchMarketplace",
        "signature": "client.facebook.searchMarketplace({ query, lat, lng, sortBy?, deliveryMethod?, cursor?, ... })",
        "clientCall": "client.facebook.searchMarketplace({ query: \"bike\", lat: 30.2677, lng: -97.7475 })"
      },
      "parameterNames": [
        "query",
        "lat",
        "lng",
        "radiusKm",
        "minPrice",
        "maxPrice",
        "limit",
        "sortBy",
        "deliveryMethod",
        "condition",
        "dateListed",
        "availability",
        "cursor"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for marketplace listings."
        },
        {
          "name": "lat",
          "location": "query",
          "required": true,
          "type": "number",
          "description": "Latitude for the marketplace search location."
        },
        {
          "name": "lng",
          "location": "query",
          "required": true,
          "type": "number",
          "description": "Longitude for the marketplace search location."
        },
        {
          "name": "radiusKm",
          "location": "query",
          "required": false,
          "type": "number",
          "description": "Optional search radius in kilometers."
        },
        {
          "name": "minPrice",
          "location": "query",
          "required": false,
          "type": "number",
          "description": "Optional minimum listing price. Must be less than or equal to `maxPrice` when both are set."
        },
        {
          "name": "maxPrice",
          "location": "query",
          "required": false,
          "type": "number",
          "description": "Optional maximum listing price. Must be greater than or equal to `minPrice` when both are set."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Optional number of listings to return (1–100). Prefer this over `count`."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "suggested",
            "distanceAscend",
            "creationTimeDescend",
            "priceAscend",
            "priceDescend"
          ],
          "description": "Optional sort order for marketplace listings. `suggested`: Facebook's default relevance ranking. `distanceAscend`: nearest first. `creationTimeDescend`: newest listings first. `priceAscend`/`priceDescend`: lowest/highest price first."
        },
        {
          "name": "deliveryMethod",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "localPickup",
            "shipping"
          ],
          "description": "Optional delivery method filter for marketplace listings."
        },
        {
          "name": "condition",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "new",
            "usedLikeNew",
            "usedGood",
            "usedFair"
          ],
          "description": "Optional item condition filter for marketplace listings."
        },
        {
          "name": "dateListed",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "1",
            "7",
            "30",
            "all",
            "last24Hours",
            "last7Days",
            "last30Days"
          ],
          "description": "Optional date-listed filter for marketplace listings. `1`/`last24Hours` both mean the last 24 hours, `7`/`last7Days` both mean the last 7 days, and `30`/`last30Days` both mean the last 30 days — these are separate values Facebook accepts for the same window; prefer the named variants (`last24Hours`, `last7Days`, `last30Days`) for clarity. `all` applies no date filter."
        },
        {
          "name": "availability",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "available",
            "sold",
            "all"
          ],
          "description": "Optional availability filter for marketplace listings."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for marketplace listings."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [
        "suggested",
        "distanceAscend",
        "creationTimeDescend",
        "priceAscend",
        "priceDescend"
      ],
      "orderingHint": "Supported sort options: suggested, distanceAscend, creationTimeDescend, priceAscend, priceDescend.",
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/marketplace/items",
      "summary": "Get Facebook Marketplace item",
      "tag": "Facebook",
      "operationId": "facebook.marketplace.item.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/marketplace/items/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/marketplace/items/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/marketplace/items/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getMarketplaceItem",
        "signature": "client.facebook.getMarketplaceItem({ itemId?, url? })",
        "clientCall": "client.facebook.getMarketplaceItem({ itemId: \"1656586118821988\" })"
      },
      "parameterNames": [
        "itemId",
        "url"
      ],
      "parameters": [
        {
          "name": "itemId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Facebook Marketplace item identifier. Provide this instead of url when you already know the item id."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public Facebook Marketplace item URL."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public Facebook Marketplace item URL."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/events/search",
      "summary": "Search Facebook events",
      "tag": "Facebook",
      "operationId": "facebook.events.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/events/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/events/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/events/search/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "searchEvents",
        "signature": "client.facebook.searchEvents({ query, cursor? })",
        "clientCall": "client.facebook.searchEvents({ query: \"dogs\" })"
      },
      "parameterNames": [
        "query",
        "cursor"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Facebook events by name."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Facebook events by name."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/events",
      "summary": "List Facebook city events",
      "tag": "Facebook",
      "operationId": "facebook.events.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/events/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/events/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/events/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "listCityEvents",
        "signature": "client.facebook.listCityEvents({ url, time?, cursor? })",
        "clientCall": "client.facebook.listCityEvents({ url: \"https://www.facebook.com/events/explore/saint-petersburg-florida/111326725552547\" })"
      },
      "parameterNames": [
        "url",
        "time",
        "cursor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Facebook Events explore URL for a city."
        },
        {
          "name": "time",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "today",
            "thisWeek",
            "nextWeek"
          ],
          "description": "Optional time window for events."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Facebook Events explore URL for a city."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "An empty `data.events` array means no matching events in that time window for the requested city explore URL. This route has no `lookupStatus` field."
      }
    },
    {
      "method": "GET",
      "path": "/v1/facebook/events/details",
      "summary": "Get Facebook event",
      "tag": "Facebook",
      "operationId": "facebook.event.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/events/details/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/events/details/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/events/details/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getEvent",
        "signature": "client.facebook.getEvent({ eventId?, url? })",
        "clientCall": "client.facebook.getEvent({ eventId: \"2219404332228026\" })"
      },
      "parameterNames": [
        "eventId",
        "url"
      ],
      "parameters": [
        {
          "name": "eventId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Facebook event id when you have it instead of a full URL."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public Facebook event URL."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public Facebook event URL."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/ad-library/ads",
      "summary": "Get Facebook Ad Library ad",
      "tag": "Facebook",
      "operationId": "facebook.adLibrary.ad.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/ad-library/ads/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/ads/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/ads/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "getAdLibraryAd",
        "signature": "client.facebook.getAdLibraryAd({ adId?, url?, includeTranscript?, trim? })",
        "clientCall": "client.facebook.getAdLibraryAd({ adId: \"902134546059754\", includeTranscript: true })"
      },
      "parameterNames": [
        "adId",
        "url",
        "includeTranscript",
        "trim"
      ],
      "parameters": [
        {
          "name": "adId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Facebook Ad Library archive id for the ad."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public Facebook Ad Library URL for the ad."
        },
        {
          "name": "includeTranscript",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, includes a plain-text transcript when available for the ad video."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, requests a smaller payload before normalization."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public Facebook Ad Library URL for the ad."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/ad-library/ads/search",
      "summary": "Search Facebook Ad Library ads",
      "tag": "Facebook",
      "operationId": "facebook.adLibrary.ads.search.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/ad-library/ads/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/ads/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/ads/search/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "searchAdLibraryAds",
        "signature": "client.facebook.searchAdLibraryAds({ query, sortBy?, searchType?, adType?, country?, status?, mediaType?, startDate?, endDate?, cursor?, trim? })",
        "clientCall": "client.facebook.searchAdLibraryAds({ query: \"running\", mediaType: \"video\" })"
      },
      "parameterNames": [
        "query",
        "sortBy",
        "searchType",
        "adType",
        "country",
        "status",
        "mediaType",
        "startDate",
        "endDate",
        "cursor",
        "trim"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Facebook Ad Library ads."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "impressions",
            "most-recent"
          ],
          "description": "Optional sort order for returned ads."
        },
        {
          "name": "searchType",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "keyword-unordered",
            "exact-phrase"
          ],
          "description": "Optional keyword matching mode for the search query."
        },
        {
          "name": "adType",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "political-and-issue"
          ],
          "description": "Optional filter for all ads or political and issue ads."
        },
        {
          "name": "country",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional country code filter. Use ALL to search all countries."
        },
        {
          "name": "status",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "active",
            "inactive"
          ],
          "description": "Optional ad status filter."
        },
        {
          "name": "mediaType",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "image",
            "video",
            "meme",
            "image-and-meme",
            "none"
          ],
          "description": "Optional creative media filter."
        },
        {
          "name": "startDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional start date filter in YYYY-MM-DD format."
        },
        {
          "name": "endDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional end date filter in YYYY-MM-DD format."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Facebook Ad Library ads."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [
        "impressions",
        "most-recent"
      ],
      "orderingHint": "Supported sort options: impressions, most-recent.",
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/ad-library/companies/ads",
      "summary": "List Facebook company ads",
      "tag": "Facebook",
      "operationId": "facebook.company.ads.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/ad-library/companies/ads/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/companies/ads/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/companies/ads/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "listCompanyAds",
        "signature": "client.facebook.listCompanyAds({ pageId?, companyName?, country?, status?, mediaType?, language?, sortBy?, startDate?, endDate?, cursor? })",
        "clientCall": "client.facebook.listCompanyAds({ pageId: '367152833370567' })"
      },
      "parameterNames": [
        "pageId",
        "companyName",
        "country",
        "status",
        "mediaType",
        "language",
        "sortBy",
        "startDate",
        "endDate",
        "cursor"
      ],
      "parameters": [
        {
          "name": "pageId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Facebook page id when you have it instead of a company name."
        },
        {
          "name": "companyName",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Company or page name to search when you do not have a page id."
        },
        {
          "name": "country",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional country code filter. Use ALL to search all countries."
        },
        {
          "name": "status",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "active",
            "inactive"
          ],
          "description": "Optional ad status filter."
        },
        {
          "name": "mediaType",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "image",
            "video",
            "meme",
            "image-and-meme",
            "none"
          ],
          "description": "Optional creative media filter."
        },
        {
          "name": "language",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional language code filter."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "impressions",
            "most-recent"
          ],
          "description": "Optional sort order for returned ads."
        },
        {
          "name": "startDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional start date filter in YYYY-MM-DD format."
        },
        {
          "name": "endDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional end date filter in YYYY-MM-DD format."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [
        "impressions",
        "most-recent"
      ],
      "orderingHint": "Supported sort options: impressions, most-recent.",
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/facebook/ad-library/companies/search",
      "summary": "Search Facebook ad library companies",
      "tag": "Facebook",
      "operationId": "facebook.adLibrary.companies.search",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/facebook/ad-library/companies/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/companies/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/facebook/ad-library/companies/search/get.mdx",
      "sdkMethod": {
        "resource": "facebook",
        "methodName": "searchAdLibraryCompanies",
        "signature": "client.facebook.searchAdLibraryCompanies({ query })",
        "clientCall": "client.facebook.searchAdLibraryCompanies({ query: \"nike\" })"
      },
      "parameterNames": [
        "query"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Facebook ad library companies."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Facebook ad library companies."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/profiles/{handle}",
      "summary": "Get Instagram profile",
      "tag": "Instagram",
      "operationId": "instagram.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/profiles/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/handle/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getProfile",
        "signature": "client.instagram.getProfile({ handle })",
        "clientCall": "client.instagram.getProfile({ handle })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram handle to look up, with or without a leading @. A profile URL is also accepted."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram handle to look up, with or without a leading @. A profile URL is also accepted."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/profiles/{userId}/basic",
      "summary": "Get Instagram basic profile",
      "tag": "Instagram",
      "operationId": "instagram.profile.basic.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/profiles/userid/basic/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/userid/basic/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/userid/basic/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getBasicProfile",
        "signature": "client.instagram.getBasicProfile({ userId })",
        "clientCall": "client.instagram.getBasicProfile({ userId })"
      },
      "parameterNames": [
        "userId"
      ],
      "parameters": [
        {
          "name": "userId",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram numeric user id to look up."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "userId",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram numeric user id to look up."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/profiles/{handle}/posts",
      "summary": "List Instagram profile posts",
      "tag": "Instagram",
      "operationId": "instagram.profile.posts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit base. With `hostMedia`, +2 credits per hosted asset (up to 24 assets, 49 credits max).",
      "docsPathname": "/docs/api/v1/instagram/profiles/handle/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/handle/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/handle/posts/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getProfilePosts",
        "signature": "client.instagram.getProfilePosts({ handle, cursor? })",
        "clientCall": "client.instagram.getProfilePosts({ handle, cursor? })"
      },
      "parameterNames": [
        "handle",
        "cursor",
        "hostMedia"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram handle whose posts should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        },
        {
          "name": "hostMedia",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, hosts source media for 90 days and returns delivery URLs in each post's `hostedMedia`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram handle whose posts should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/profiles/{handle}/reels",
      "summary": "List Instagram profile reels",
      "tag": "Instagram",
      "operationId": "instagram.profile.reels.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit base. With `hostMedia`, +2 credits per hosted asset (up to 24 assets, 49 credits max).",
      "docsPathname": "/docs/api/v1/instagram/profiles/handle/reels/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/handle/reels/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/handle/reels/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getProfileReels",
        "signature": "client.instagram.getProfileReels({ handle, cursor? })",
        "clientCall": "client.instagram.getProfileReels({ handle, cursor? })"
      },
      "parameterNames": [
        "handle",
        "cursor",
        "hostMedia"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram handle whose reels should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        },
        {
          "name": "hostMedia",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, hosts source media for 90 days and returns delivery URLs in each reel's `hostedMedia`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram handle whose reels should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/profiles/{handle}/highlights",
      "summary": "List Instagram profile highlights",
      "tag": "Instagram",
      "operationId": "instagram.profile.highlights.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/profiles/handle/highlights/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/handle/highlights/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/handle/highlights/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getProfileHighlights",
        "signature": "client.instagram.getProfileHighlights({ handle })",
        "clientCall": "client.instagram.getProfileHighlights({ handle })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram handle whose story highlight albums should be listed."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram handle whose story highlight albums should be listed."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/profiles/{userId}/tagged-posts",
      "summary": "List Instagram tagged posts",
      "tag": "Instagram",
      "operationId": "instagram.profile.taggedPosts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit base. With `hostMedia`, +2 credits per hosted asset (up to 24 assets, 49 credits max).",
      "docsPathname": "/docs/api/v1/instagram/profiles/userid/tagged-posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/userid/tagged-posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/userid/tagged-posts/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getProfileTaggedPosts",
        "signature": "client.instagram.getProfileTaggedPosts({ userId, cursor? })",
        "clientCall": "client.instagram.getProfileTaggedPosts({ userId, cursor? })"
      },
      "parameterNames": [
        "userId",
        "cursor",
        "hostMedia"
      ],
      "parameters": [
        {
          "name": "userId",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram numeric user id whose tagged posts should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        },
        {
          "name": "hostMedia",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, hosts source media for 90 days and returns delivery URLs in each post's `hostedMedia`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "userId",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram numeric user id whose tagged posts should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "lookupStatus found with an empty posts array means this page of the Tagged tab has no public posts.",
        "disambiguation": "This is the Tagged tab for a numeric Instagram user id, not the profile grid. Use GET /v1/instagram/profiles/{handle}/posts for the owner's own feed. Resolve a handle to a user id with GET /v1/instagram/profiles/{handle} or GET /v1/instagram/profiles/{userId}/basic."
      }
    },
    {
      "method": "GET",
      "path": "/v1/instagram/highlights/{highlightId}",
      "summary": "Get Instagram highlight",
      "tag": "Instagram",
      "operationId": "instagram.highlight.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/highlights/highlightid/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/highlights/highlightid/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/highlights/highlightid/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getHighlight",
        "signature": "client.instagram.getHighlight({ highlightId })",
        "clientCall": "client.instagram.getHighlight({ highlightId })"
      },
      "parameterNames": [
        "highlightId"
      ],
      "parameters": [
        {
          "name": "highlightId",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Numeric Instagram highlight id from a highlight URL."
        }
      ],
      "acceptedIdentifiers": [],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/profiles/{handle}/engagement",
      "summary": "Get Instagram profile engagement audit",
      "tag": "Instagram",
      "operationId": "instagram.profile.engagement.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "5 credits per successful request.",
      "docsPathname": "/docs/api/v1/instagram/profiles/handle/engagement/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/handle/engagement/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/profiles/handle/engagement/get.mdx",
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram handle to look up, with or without a leading @. A profile URL is also accepted."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram handle to look up, with or without a leading @. A profile URL is also accepted."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/search",
      "summary": "Search Instagram accounts, hashtags, and places",
      "tag": "Instagram",
      "operationId": "instagram.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/search/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "search",
        "signature": "client.instagram.search({ query })",
        "clientCall": "client.instagram.search({ query: \"nike\" })"
      },
      "parameterNames": [
        "query"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Instagram accounts, hashtags, and places."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Instagram accounts, hashtags, and places."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "Empty users, hashtags, places, and keywords arrays are a valid success when there are no matches.",
        "disambiguation": "Use this for Instagram-native account, hashtag, and place typeahead. One page, no posts. For Google-indexed profile discovery use GET /v1/instagram/search/profiles. For hashtag posts use GET /v1/instagram/search/hashtags. For reel keyword search use GET /v1/instagram/search/reels. For a curated topic page with posts use GET /v1/instagram/search/popular."
      }
    },
    {
      "method": "GET",
      "path": "/v1/instagram/search/profiles",
      "summary": "Search Instagram profiles",
      "tag": "Instagram",
      "operationId": "instagram.search.profiles.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/search/profiles/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/search/profiles/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/search/profiles/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "searchProfiles",
        "signature": "client.instagram.searchProfiles({ query, cursor? })",
        "clientCall": "client.instagram.searchProfiles({ query: \"fitness coach\" })"
      },
      "parameterNames": [
        "query",
        "cursor"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Instagram profiles."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Instagram profiles."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/search/reels",
      "summary": "Search Instagram Reels",
      "tag": "Instagram",
      "operationId": "instagram.search.reels.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/search/reels/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/search/reels/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/search/reels/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "searchReels",
        "signature": "client.instagram.searchReels({ query, datePosted?, page? })",
        "clientCall": "client.instagram.searchReels({ query: \"dogs\" })"
      },
      "parameterNames": [
        "query",
        "datePosted",
        "page"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Instagram Reels."
        },
        {
          "name": "datePosted",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "last-hour",
            "last-day",
            "last-week",
            "last-month",
            "last-year"
          ],
          "description": "Optional filter for when matching reels were posted."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "1-based results page number. Omit to request the first page. Pagination is page-based."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Instagram Reels."
        }
      ],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/search/hashtags",
      "summary": "Search Instagram by hashtag",
      "tag": "Instagram",
      "operationId": "instagram.search.hashtag.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/search/hashtags/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/search/hashtags/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/search/hashtags/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "searchHashtags",
        "signature": "client.instagram.searchHashtags({ hashtag, datePosted?, mediaType?, cursor? })",
        "clientCall": "client.instagram.searchHashtags({ hashtag: \"makeup\" })"
      },
      "parameterNames": [
        "hashtag",
        "datePosted",
        "mediaType",
        "cursor"
      ],
      "parameters": [
        {
          "name": "hashtag",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Hashtag to search for. A leading # is optional."
        },
        {
          "name": "datePosted",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "last-hour",
            "last-day",
            "last-week",
            "last-month",
            "last-year"
          ],
          "description": "Optional filter for when matching posts were posted."
        },
        {
          "name": "mediaType",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "reels"
          ],
          "description": "Content filter. Use `all` for posts and Reels, or `reels` for Reels only. Default: `all`."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/search/popular",
      "summary": "Search Instagram Popular topics",
      "tag": "Instagram",
      "operationId": "instagram.search.popular.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/search/popular/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/search/popular/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/search/popular/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "searchPopular",
        "signature": "client.instagram.searchPopular({ query, cursor? })",
        "clientCall": "client.instagram.searchPopular({ query: \"music\" })"
      },
      "parameterNames": [
        "query",
        "cursor"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Instagram Popular topics."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Instagram Popular topics."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "An empty posts array is a valid success when the topic has no curated posts on this page. Topic metadata (title, totalMediaCount, description, suggestedTerms) is populated on the first page and null on later pages.",
        "disambiguation": "Use this for Instagram's curated Popular topic page (title, generated description, suggested terms, mixed posts). For an exact hashtag use GET /v1/instagram/search/hashtags. For Reels-only keyword search use GET /v1/instagram/search/reels. For Instagram-native account, hashtag, and place typeahead use GET /v1/instagram/search."
      }
    },
    {
      "method": "GET",
      "path": "/v1/instagram/posts",
      "summary": "Get Instagram post or reel",
      "tag": "Instagram",
      "operationId": "instagram.post.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit base. With `downloadMedia`, Hosted media download. Up to 11 credits max.",
      "docsPathname": "/docs/api/v1/instagram/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/posts/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getPost",
        "signature": "client.instagram.getPost({ url, region?, trim?, downloadMedia? })",
        "clientCall": "client.instagram.getPost({ url })"
      },
      "parameterNames": [
        "url",
        "region",
        "trim",
        "downloadMedia"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the post or reel."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 3166-1 country code for request routing."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer fields."
        },
        {
          "name": "downloadMedia",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, asks the upstream provider to download media and return provider-hosted URLs in `downloads` (not SocialFetch-owned storage). Adds 10 credits when media is found (11 total including the base lookup); when no media is returned the base lookup credit still applies."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the post or reel."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "restricted"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": true
    },
    {
      "method": "GET",
      "path": "/v1/instagram/posts/comments",
      "summary": "List Instagram post or reel comments",
      "tag": "Instagram",
      "operationId": "instagram.post.comments.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/posts/comments/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/posts/comments/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/posts/comments/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getPostComments",
        "signature": "client.instagram.getPostComments({ url, cursor? })",
        "clientCall": "client.instagram.getPostComments({ url })"
      },
      "parameterNames": [
        "url",
        "cursor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Instagram post or reel whose comments should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque cursor from a previous response to fetch the next page."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Instagram post or reel whose comments should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Lists top-level comments only. When a comment has replies (`data.comments[].replyCount` > 0), use List Instagram comment replies with that comment's `id` as `commentId` plus the same post or reel `url`."
      }
    },
    {
      "method": "GET",
      "path": "/v1/instagram/posts/comments/replies",
      "summary": "List Instagram comment replies",
      "tag": "Instagram",
      "operationId": "instagram.post.comments.replies.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/posts/comments/replies/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/posts/comments/replies/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/posts/comments/replies/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getPostCommentReplies",
        "signature": "client.instagram.getPostCommentReplies({ commentId, url, cursor? })",
        "clientCall": "client.instagram.getPostCommentReplies({ commentId, url })"
      },
      "parameterNames": [
        "commentId",
        "url",
        "cursor"
      ],
      "parameters": [
        {
          "name": "commentId",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Parent comment id from List Instagram post or reel comments (`data.comments[].id`)."
        },
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Instagram post or reel that contains the parent comment."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque cursor from a previous response to fetch the next page."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "commentId",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Parent comment id from List Instagram post or reel comments (`data.comments[].id`)."
        },
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Instagram post or reel that contains the parent comment."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Requires parent `commentId` from List Instagram post or reel comments plus the same post or reel `url`. Paginate with `data.page.hasMore` and `data.page.nextCursor`; do not assume a fixed page size."
      }
    },
    {
      "method": "GET",
      "path": "/v1/instagram/posts/download",
      "summary": "Download Instagram post or reel media",
      "tag": "Instagram",
      "operationId": "instagram.post.download.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "11 credits per successful request.",
      "docsPathname": "/docs/api/v1/instagram/posts/download/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/posts/download/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/posts/download/get.mdx",
      "parameterNames": [
        "url",
        "region"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the post or reel."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 3166-1 country code for request routing."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the post or reel."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "restricted"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/posts/transcript",
      "summary": "Get Instagram post transcript",
      "tag": "Instagram",
      "operationId": "instagram.post.transcript.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/posts/transcript/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/posts/transcript/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/posts/transcript/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getPostTranscript",
        "signature": "client.instagram.getPostTranscript({ url })",
        "clientCall": "client.instagram.getPostTranscript({ url })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Instagram post or Reel whose transcript should be returned."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Instagram post or Reel whose transcript should be returned."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/reels/trending",
      "summary": "List trending Instagram Reels",
      "tag": "Instagram",
      "operationId": "instagram.reels.trending.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/reels/trending/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/reels/trending/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/reels/trending/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "getTrendingReels",
        "signature": "client.instagram.getTrendingReels()",
        "clientCall": "client.instagram.getTrendingReels()"
      },
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/instagram/audio/{audioId}/reels",
      "summary": "List Instagram audio Reels",
      "tag": "Instagram",
      "operationId": "instagram.audio.reels.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/instagram/audio/audioid/reels/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/audio/audioid/reels/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/instagram/audio/audioid/reels/get.mdx",
      "sdkMethod": {
        "resource": "instagram",
        "methodName": "listAudioReels",
        "signature": "client.instagram.listAudioReels({ audioId, cursor? })",
        "clientCall": "client.instagram.listAudioReels({ audioId: \"1392969992841787\" })"
      },
      "parameterNames": [
        "audioId",
        "cursor"
      ],
      "parameters": [
        {
          "name": "audioId",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Instagram audio id whose Reels should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "An empty `data.reels` array can mean no public Reels use this audio, or other cases—there is no `lookupStatus` field on this route."
      }
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/profiles",
      "summary": "Get LinkedIn profiles",
      "tag": "LinkedIn",
      "operationId": "linkedin.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per profile URL requested. Up to 50 profiles per request (100 credits max).",
      "docsPathname": "/docs/api/v1/linkedin/profiles/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/profiles/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/profiles/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "getProfiles",
        "signature": "client.linkedin.getProfiles({ urls }) or client.linkedin.getProfile({ url })",
        "clientCall": "client.linkedin.getProfiles({ urls })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "array",
          "description": "LinkedIn profile URL."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "array",
          "description": "LinkedIn profile URL."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/profiles/posts",
      "summary": "List LinkedIn profile posts",
      "tag": "LinkedIn",
      "operationId": "linkedin.profiles.posts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits attempt fee plus 2 credits per returned record. Up to 200 per request (402 credits max). `limit` default: 10.",
      "docsPathname": "/docs/api/v1/linkedin/profiles/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/profiles/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/profiles/posts/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "listProfilePosts",
        "signature": "client.linkedin.listProfilePosts({ url, startDate?, endDate?, onlyAuthoredPosts? })",
        "clientCall": "client.linkedin.listProfilePosts({ url })"
      },
      "parameterNames": [
        "url",
        "startDate",
        "endDate",
        "onlyAuthoredPosts",
        "limit"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "LinkedIn profile URL or vanity handle whose public posts should be listed."
        },
        {
          "name": "startDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional start of the date range for posts to include. Must be a valid ISO-8601 date-time. For profile URLs, date filtering applies only to LinkedIn articles."
        },
        {
          "name": "endDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional end of the date range for posts to include. Must be a valid ISO-8601 date-time. For profile URLs, date filtering applies only to LinkedIn articles."
        },
        {
          "name": "onlyAuthoredPosts",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, return only posts created by the profile owner."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Maximum posts to return (default 10)."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "LinkedIn profile URL or vanity handle whose public posts should be listed."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/organizations",
      "summary": "Get LinkedIn organization page",
      "tag": "LinkedIn",
      "operationId": "linkedin.organization.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per organization URL requested. Up to 50 organizations per request (100 credits max).",
      "docsPathname": "/docs/api/v1/linkedin/organizations/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/organizations/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/organizations/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "getOrganizations",
        "signature": "client.linkedin.getOrganizations({ urls }) or client.linkedin.getOrganization({ url })",
        "clientCall": "client.linkedin.getOrganizations({ urls })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "array",
          "description": "LinkedIn organization page URL."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "array",
          "description": "LinkedIn organization page URL."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "This endpoint covers company, school, and other LinkedIn organization pages. If you only need a standard company page lookup, the Company page endpoint may be a better fit."
      }
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/companies",
      "summary": "Get LinkedIn company page",
      "tag": "LinkedIn",
      "operationId": "linkedin.company.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/linkedin/companies/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/companies/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/companies/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "getCompany",
        "signature": "client.linkedin.getCompany({ url })",
        "clientCall": "client.linkedin.getCompany({ url })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "LinkedIn company page URL for this lookup. School and organization-guest pages are not supported; use `GET /v1/linkedin/organizations`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "LinkedIn company page URL for this lookup. School and organization-guest pages are not supported; use `GET /v1/linkedin/organizations`."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "This endpoint is for LinkedIn company pages only. If you have a school URL or another organization page type, use the Organization page endpoint instead."
      }
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/companies/posts",
      "summary": "List LinkedIn company posts",
      "tag": "LinkedIn",
      "operationId": "linkedin.company.posts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/linkedin/companies/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/companies/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/companies/posts/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "listCompanyPosts",
        "signature": "client.linkedin.listCompanyPosts({ url, page? })",
        "clientCall": "client.linkedin.listCompanyPosts({ url })"
      },
      "parameterNames": [
        "url",
        "page"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "LinkedIn company page URL or slug whose posts should be listed."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "1-based results page number. Pagination is page-based; at most 7 pages can be requested for a given company."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "LinkedIn company page URL or slug whose posts should be listed."
        }
      ],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "This endpoint is for LinkedIn company pages only. If you have a school URL or another organization page type, use the Organization page endpoint instead."
      }
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/posts",
      "summary": "Get LinkedIn post or article",
      "tag": "LinkedIn",
      "operationId": "linkedin.post.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/linkedin/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/posts/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "getPost",
        "signature": "client.linkedin.getPost({ url })",
        "clientCall": "client.linkedin.getPost({ url })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public permalink to the post or article."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public permalink to the post or article."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/posts/transcript",
      "summary": "Get LinkedIn post transcript",
      "tag": "LinkedIn",
      "operationId": "linkedin.post.transcript.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit when a transcript is found; no charge when a transcript is unavailable.",
      "docsPathname": "/docs/api/v1/linkedin/posts/transcript/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/posts/transcript/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/posts/transcript/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "getPostTranscript",
        "signature": "client.linkedin.getPostTranscript({ url })",
        "clientCall": "client.linkedin.getPostTranscript({ url })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the LinkedIn post whose video transcript should be returned."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the LinkedIn post whose video transcript should be returned."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "lookup_failed"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/people/search",
      "summary": "Search LinkedIn people",
      "tag": "LinkedIn",
      "operationId": "linkedin.people.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits attempt fee plus 2 credits per returned record. Up to 50 per request (102 credits max).",
      "docsPathname": "/docs/api/v1/linkedin/people/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/people/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/people/search/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "searchPeople",
        "signature": "client.linkedin.searchPeople({ firstName?, lastName? })",
        "clientCall": "client.linkedin.searchPeople({ firstName: \"James\", lastName: \"Smith\" })"
      },
      "parameterNames": [
        "firstName",
        "lastName"
      ],
      "parameters": [
        {
          "name": "firstName",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "First name filter. At least one of `firstName` or `lastName` is required."
        },
        {
          "name": "lastName",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Last name filter. At least one of `firstName` or `lastName` is required."
        }
      ],
      "acceptedIdentifiers": [],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "This search usually takes around one and a half minutes to complete, so expect a longer wait than most endpoints."
      }
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/posts/search",
      "summary": "Search LinkedIn posts",
      "tag": "LinkedIn",
      "operationId": "linkedin.posts.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/linkedin/posts/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/posts/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/posts/search/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "searchPosts",
        "signature": "client.linkedin.searchPosts({ query, datePosted?, cursor? })",
        "clientCall": "client.linkedin.searchPosts({ query: \"ai agents\" })"
      },
      "parameterNames": [
        "query",
        "datePosted",
        "cursor"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Keyword or phrase to search for in public LinkedIn posts."
        },
        {
          "name": "datePosted",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "last-hour",
            "last-day",
            "last-week",
            "last-month",
            "last-year"
          ],
          "description": "Optional filter for how recently matching posts were published."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Keyword or phrase to search for in public LinkedIn posts."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "An empty posts array means no matching public posts were returned for this query and page. It is not an error."
      }
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/ad-library/ads",
      "summary": "Get LinkedIn Ad Library ad",
      "tag": "LinkedIn",
      "operationId": "linkedin.adLibrary.ad.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/linkedin/ad-library/ads/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/ad-library/ads/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/ad-library/ads/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "getAdLibraryAd",
        "signature": "client.linkedin.getAdLibraryAd({ adId?, url? })",
        "clientCall": "client.linkedin.getAdLibraryAd({ adId: \"664291126\" })"
      },
      "parameterNames": [
        "adId",
        "url"
      ],
      "parameters": [
        {
          "name": "adId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "LinkedIn Ad Library id for the ad."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public LinkedIn Ad Library URL for the ad."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Public LinkedIn Ad Library URL for the ad."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/ad-library/ads/search",
      "summary": "Search LinkedIn Ad Library ads",
      "tag": "LinkedIn",
      "operationId": "linkedin.adLibrary.ads.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/linkedin/ad-library/ads/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/ad-library/ads/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/ad-library/ads/search/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "searchAdLibraryAds",
        "signature": "client.linkedin.searchAdLibraryAds({ company?, keyword?, companyId?, countries?, startDate?, endDate?, cursor? })",
        "clientCall": "client.linkedin.searchAdLibraryAds({ company: \"microsoft\" })"
      },
      "parameterNames": [
        "company",
        "keyword",
        "companyId",
        "countries",
        "startDate",
        "endDate",
        "cursor"
      ],
      "parameters": [
        {
          "name": "company",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Company name to search for in the LinkedIn Ad Library."
        },
        {
          "name": "keyword",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Keyword or phrase to search for in LinkedIn Ad Library ads."
        },
        {
          "name": "companyId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "LinkedIn company id to search for in the Ad Library."
        },
        {
          "name": "countries",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional comma-separated list of country codes (for example US,CA,MX)."
        },
        {
          "name": "startDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional start date filter in YYYY-MM-DD format."
        },
        {
          "name": "endDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional end date filter in YYYY-MM-DD format."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/jobs",
      "summary": "Get LinkedIn jobs",
      "tag": "LinkedIn",
      "operationId": "linkedin.jobs.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per job URL requested. Up to 50 jobs per request (100 credits max).",
      "docsPathname": "/docs/api/v1/linkedin/jobs/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/jobs/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/jobs/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "getJobs",
        "signature": "client.linkedin.getJobs({ urls })",
        "clientCall": "client.linkedin.getJobs({ urls })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "array",
          "description": "LinkedIn job posting URL to look up."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "array",
          "description": "LinkedIn job posting URL to look up."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/linkedin/jobs/search",
      "summary": "Search LinkedIn jobs",
      "tag": "LinkedIn",
      "operationId": "linkedin.jobs.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits attempt fee plus 2 credits per returned record. Up to 1000 per request (2002 credits max). `limit` default: 10.",
      "docsPathname": "/docs/api/v1/linkedin/jobs/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/jobs/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linkedin/jobs/search/get.mdx",
      "sdkMethod": {
        "resource": "linkedin",
        "methodName": "searchJobs",
        "signature": "client.linkedin.searchJobs({ keyword, location, country?, timeRange?, jobType?, experienceLevel?, remote?, company?, locationRadius? })",
        "clientCall": "client.linkedin.searchJobs({ keyword })"
      },
      "parameterNames": [
        "keyword",
        "location",
        "country",
        "timeRange",
        "jobType",
        "experienceLevel",
        "remote",
        "company",
        "locationRadius",
        "limit"
      ],
      "parameters": [
        {
          "name": "keyword",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Required. Search keyword for LinkedIn job listings — a job title, skill, or company term, e.g. \"typescript engineer\" or \"growth marketer\"."
        },
        {
          "name": "location",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Required. Location label as you would type it into LinkedIn's location box — a city, region, or country name, e.g. \"London\", \"Greater Seattle Area\", or \"United Kingdom\"."
        },
        {
          "name": "country",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 3166-1 alpha-2 country code, e.g. \"GB\" or \"US\". Narrows an ambiguous `location` label to one country; leave unset when `location` is already a country name."
        },
        {
          "name": "timeRange",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "any",
            "past-month",
            "past-week",
            "past-24-hours"
          ],
          "description": "Optional time range filter for when jobs were posted."
        },
        {
          "name": "jobType",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "full-time",
            "part-time",
            "contract",
            "temporary",
            "volunteer"
          ],
          "description": "Optional job type filter."
        },
        {
          "name": "experienceLevel",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "internship",
            "entry-level",
            "associate",
            "mid-senior-level",
            "director",
            "executive"
          ],
          "description": "Optional experience level filter."
        },
        {
          "name": "remote",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "on-site",
            "remote",
            "hybrid"
          ],
          "description": "Optional work arrangement filter."
        },
        {
          "name": "company",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional company name filter."
        },
        {
          "name": "locationRadius",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "exact-location",
            "5-miles",
            "10-miles",
            "25-miles",
            "50-miles"
          ],
          "description": "Optional location radius filter."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Maximum job listings to return (default 10)."
        }
      ],
      "acceptedIdentifiers": [],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "This search usually takes around one and a half minutes."
      }
    },
    {
      "method": "GET",
      "path": "/v1/youtube/channel",
      "summary": "Get YouTube channel",
      "tag": "YouTube",
      "operationId": "youtube.channel.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/channel/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/channel/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/channel/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "getChannel",
        "signature": "client.youtube.getChannel({ channelId?, handle?, url? })",
        "clientCall": "client.youtube.getChannel({ handle })"
      },
      "parameterNames": [
        "channelId",
        "handle",
        "url"
      ],
      "parameters": [
        {
          "name": "channelId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel id for the request."
        },
        {
          "name": "handle",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel handle for the request."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel URL for the request."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel handle for the request."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel URL for the request."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/youtube/channels/videos",
      "summary": "List YouTube channel videos",
      "tag": "YouTube",
      "operationId": "youtube.channel.videos.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/channels/videos/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/channels/videos/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/channels/videos/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "getChannelVideos",
        "signature": "client.youtube.getChannelVideos({ channelId?, handle?, sortBy?, cursor?, includeExtras? })",
        "clientCall": "client.youtube.getChannelVideos({ handle })"
      },
      "parameterNames": [
        "channelId",
        "handle",
        "sortBy",
        "cursor",
        "includeExtras"
      ],
      "parameters": [
        {
          "name": "channelId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel id for the request."
        },
        {
          "name": "handle",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel handle for the request."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "latest",
            "popular"
          ],
          "description": "Optional sort order for the returned YouTube videos."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        },
        {
          "name": "includeExtras",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Optional flag to include richer per-video metadata when available."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel handle for the request."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [
        "latest",
        "popular"
      ],
      "orderingHint": "Supported sort options: latest, popular.",
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/youtube/channels/shorts",
      "summary": "List YouTube channel shorts",
      "tag": "YouTube",
      "operationId": "youtube.channel.shorts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/channels/shorts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/channels/shorts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/channels/shorts/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "getChannelShorts",
        "signature": "client.youtube.getChannelShorts({ channelId?, handle?, sortBy?, cursor? })",
        "clientCall": "client.youtube.getChannelShorts({ handle })"
      },
      "parameterNames": [
        "channelId",
        "handle",
        "sortBy",
        "cursor"
      ],
      "parameters": [
        {
          "name": "channelId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel id for the request."
        },
        {
          "name": "handle",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel handle for the request."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "latest",
            "popular"
          ],
          "description": "Optional sort order for the returned YouTube Shorts."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional YouTube channel handle for the request."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [
        "latest",
        "popular"
      ],
      "orderingHint": "Supported sort options: latest, popular.",
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/youtube/playlists",
      "summary": "Get YouTube playlist",
      "tag": "YouTube",
      "operationId": "youtube.playlist.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/playlists/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/playlists/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/playlists/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "getPlaylist",
        "signature": "client.youtube.getPlaylist({ playlistId })",
        "clientCall": "client.youtube.getPlaylist({ playlistId: \"PLP32wGpgzmIlInfgKVFfCwVsxgGqZNIiS\" })"
      },
      "parameterNames": [
        "playlistId"
      ],
      "parameters": [
        {
          "name": "playlistId",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "YouTube playlist id, or a YouTube playlist URL (the `list` query value is used when present)."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "playlistId",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "YouTube playlist id, or a YouTube playlist URL (the `list` query value is used when present)."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/youtube/community-posts",
      "summary": "Get YouTube community post",
      "tag": "YouTube",
      "operationId": "youtube.community.post.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/community-posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/community-posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/community-posts/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "getCommunityPost",
        "signature": "client.youtube.getCommunityPost({ url })",
        "clientCall": "client.youtube.getCommunityPost({ url: \"https://www.youtube.com/post/Ugkxvj2KoApYAXoqLWnKVr6zZe5JjeHrQeP8\" })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public YouTube community post URL."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public YouTube community post URL."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/youtube/search",
      "summary": "Search YouTube",
      "tag": "YouTube",
      "operationId": "youtube.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/search/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "search",
        "signature": "client.youtube.search({ query, uploadDate?, sortBy?, type?, duration?, region?, cursor?, includeExtras? })",
        "clientCall": "client.youtube.search({ query: \"running\" })"
      },
      "parameterNames": [
        "query",
        "uploadDate",
        "sortBy",
        "type",
        "duration",
        "region",
        "cursor",
        "includeExtras"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for YouTube content."
        },
        {
          "name": "uploadDate",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "today",
            "this_week",
            "this_month",
            "this_year"
          ],
          "description": "Optional upload date filter for video results."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "relevance",
            "popular"
          ],
          "description": "Optional sort order for search results."
        },
        {
          "name": "type",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "videos",
            "shorts",
            "channels",
            "playlists"
          ],
          "description": "Optional content type filter for search results."
        },
        {
          "name": "duration",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "under_3_min",
            "between_3_and_20_min",
            "over_20_min"
          ],
          "description": "Optional duration filter for video results. Applies to videos, not shorts."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 3166-1 country code for localized search results."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        },
        {
          "name": "includeExtras",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns richer per-video metadata when available. May increase response time."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for YouTube content."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [
        "relevance",
        "popular"
      ],
      "orderingHint": "Supported sort options: relevance, popular.",
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Use `data.page.hasMore` and `data.page.nextCursor` for pagination rather than inferring completion from bucket sizes alone."
      }
    },
    {
      "method": "GET",
      "path": "/v1/youtube/search/hashtags",
      "summary": "Search YouTube by hashtag",
      "tag": "YouTube",
      "operationId": "youtube.search.hashtag.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/search/hashtags/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/search/hashtags/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/search/hashtags/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "searchHashtag",
        "signature": "client.youtube.searchHashtag({ hashtag, type?, cursor? })",
        "clientCall": "client.youtube.searchHashtag({ hashtag: \"funny\" })"
      },
      "parameterNames": [
        "hashtag",
        "type",
        "cursor"
      ],
      "parameters": [
        {
          "name": "hashtag",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Hashtag to search for. A leading # is optional."
        },
        {
          "name": "type",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "shorts"
          ],
          "description": "Optional content filter."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Use `data.page.hasMore` and `data.page.nextCursor` for pagination rather than inferring completion from result count alone."
      }
    },
    {
      "method": "GET",
      "path": "/v1/youtube/videos",
      "summary": "Get YouTube video",
      "tag": "YouTube",
      "operationId": "youtube.video.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/videos/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/videos/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/videos/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "getVideo",
        "signature": "client.youtube.getVideo({ url, language? })",
        "clientCall": "client.youtube.getVideo({ url })"
      },
      "parameterNames": [
        "url",
        "language"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the YouTube video. Shorts URLs are also supported."
        },
        {
          "name": "language",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional preferred language for returned text when the source supports localization."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the YouTube video. Shorts URLs are also supported."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/youtube/videos/comments",
      "summary": "List YouTube video comments",
      "tag": "YouTube",
      "operationId": "youtube.video.comments.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/videos/comments/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/videos/comments/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/videos/comments/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "getVideoComments",
        "signature": "client.youtube.getVideoComments({ url, cursor?, order? })",
        "clientCall": "client.youtube.getVideoComments({ url, order: \"top\" })"
      },
      "parameterNames": [
        "url",
        "cursor",
        "order"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the YouTube video whose comments should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque cursor from a previous response to fetch the next page."
        },
        {
          "name": "order",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "top",
            "newest"
          ],
          "description": "Comment sort order. `top` returns highest-ranked comments; `newest` returns the most recent comments."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the YouTube video whose comments should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/youtube/videos/comments/analysis",
      "summary": "Analyze YouTube video comments",
      "tag": "YouTube",
      "operationId": "youtube.video.comments.analysis.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per successful request.",
      "docsPathname": "/docs/api/v1/youtube/videos/comments/analysis/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/videos/comments/analysis/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/videos/comments/analysis/get.mdx",
      "parameterNames": [
        "url",
        "order"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the YouTube video whose comments should be listed."
        },
        {
          "name": "order",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "top",
            "newest"
          ],
          "description": "Comment sort order to analyze. Defaults to `top` for the strongest signal."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the YouTube video whose comments should be listed."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/youtube/videos/comments/replies",
      "summary": "List YouTube comment replies",
      "tag": "YouTube",
      "operationId": "youtube.video.comments.replies.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/videos/comments/replies/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/videos/comments/replies/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/videos/comments/replies/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "getVideoCommentReplies",
        "signature": "client.youtube.getVideoCommentReplies({ cursor })",
        "clientCall": "client.youtube.getVideoCommentReplies({ cursor: comment.repliesCursor })"
      },
      "parameterNames": [
        "cursor"
      ],
      "parameters": [
        {
          "name": "cursor",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Comment `repliesCursor` from Video Comments endpoint, or `page.nextCursor` to paginate replies."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/youtube/videos/transcript",
      "summary": "Get YouTube video transcript",
      "tag": "YouTube",
      "operationId": "youtube.video.transcript.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/videos/transcript/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/videos/transcript/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/videos/transcript/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "getVideoTranscript",
        "signature": "client.youtube.getVideoTranscript({ url, language? })",
        "clientCall": "client.youtube.getVideoTranscript({ url })"
      },
      "parameterNames": [
        "url",
        "language"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the YouTube video whose transcript should be returned."
        },
        {
          "name": "language",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 639-1 language code (two letters) to prefer when multiple transcripts exist."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the YouTube video whose transcript should be returned."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "lookup_failed"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/youtube/shorts/trending",
      "summary": "List trending YouTube Shorts",
      "tag": "YouTube",
      "operationId": "youtube.shorts.trending.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/youtube/shorts/trending/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/shorts/trending/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/youtube/shorts/trending/get.mdx",
      "sdkMethod": {
        "resource": "youtube",
        "methodName": "getTrendingShorts",
        "signature": "client.youtube.getTrendingShorts()",
        "clientCall": "client.youtube.getTrendingShorts()"
      },
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Typically returns about 48 trending Shorts per call. Repeat the same request for another fresh batch (new and overlapping Shorts are both possible). No cursor or page parameters."
      }
    },
    {
      "method": "GET",
      "path": "/v1/twitter/profiles/{handle}",
      "summary": "Get Twitter profile",
      "tag": "Twitter",
      "operationId": "twitter.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/twitter/profiles/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/profiles/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/profiles/handle/get.mdx",
      "sdkMethod": {
        "resource": "twitter",
        "methodName": "getProfile",
        "signature": "client.twitter.getProfile({ handle })",
        "clientCall": "client.twitter.getProfile({ handle })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "X handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "X handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitter/profiles/{handle}/tweets",
      "summary": "List Twitter profile tweets",
      "tag": "Twitter",
      "operationId": "twitter.profile.tweets.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per successful request.",
      "docsPathname": "/docs/api/v1/twitter/profiles/handle/tweets/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/profiles/handle/tweets/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/profiles/handle/tweets/get.mdx",
      "sdkMethod": {
        "resource": "twitter",
        "methodName": "getProfileTweets",
        "signature": "client.twitter.getProfileTweets({ handle, limit?, cursor?, includeReplies?, includePinned? })",
        "clientCall": "client.twitter.getProfileTweets({ handle: \"elonmusk\" })"
      },
      "parameterNames": [
        "handle",
        "limit",
        "cursor",
        "includeReplies",
        "includePinned"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "X handle to look up, with or without a leading @."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Page size (maximum 100). Default: 40."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        },
        {
          "name": "includeReplies",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Include reply tweets in the returned list. Default: false."
        },
        {
          "name": "includePinned",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Include pinned tweets on the first page. Default: false."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "X handle to look up, with or without a leading @."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitter/tweets",
      "summary": "Get Twitter tweet",
      "tag": "Twitter",
      "operationId": "twitter.tweet.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/twitter/tweets/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/tweets/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/tweets/get.mdx",
      "sdkMethod": {
        "resource": "twitter",
        "methodName": "getTweet",
        "signature": "client.twitter.getTweet({ url, trim? })",
        "clientCall": "client.twitter.getTweet({ url })"
      },
      "parameterNames": [
        "url",
        "trim"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Tweet permalink or identifier."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Optional: omit author profile and tweet `core` for a smaller response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Tweet permalink or identifier."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitter/tweets/replies",
      "summary": "List Twitter tweet replies",
      "tag": "Twitter",
      "operationId": "twitter.tweet.replies.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per successful request.",
      "docsPathname": "/docs/api/v1/twitter/tweets/replies/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/tweets/replies/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/tweets/replies/get.mdx",
      "sdkMethod": {
        "resource": "twitter",
        "methodName": "listTweetReplies",
        "signature": "client.twitter.listTweetReplies({ url, cursor? })",
        "clientCall": "client.twitter.listTweetReplies({ url })"
      },
      "parameterNames": [
        "url",
        "cursor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Tweet permalink or identifier."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Tweet permalink or identifier."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitter/tweets/transcript",
      "summary": "Get Twitter tweet transcript",
      "tag": "Twitter",
      "operationId": "twitter.tweet.transcript.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/twitter/tweets/transcript/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/tweets/transcript/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/tweets/transcript/get.mdx",
      "sdkMethod": {
        "resource": "twitter",
        "methodName": "getTweetTranscript",
        "signature": "client.twitter.getTweetTranscript({ url })",
        "clientCall": "client.twitter.getTweetTranscript({ url })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Tweet permalink or identifier."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Tweet permalink or identifier."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "lookup_failed"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "For video tweets only. Responses can take longer than typical lookups. Videos longer than about two minutes cannot be transcribed."
      }
    },
    {
      "method": "GET",
      "path": "/v1/twitter/search",
      "summary": "Search Twitter posts",
      "tag": "Twitter",
      "operationId": "twitter.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per successful request.",
      "docsPathname": "/docs/api/v1/twitter/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/search/get.mdx",
      "sdkMethod": {
        "resource": "twitter",
        "methodName": "search",
        "signature": "client.twitter.search({ query, section?, minRetweets?, minLikes?, minReplies?, limit?, startDate?, endDate?, language?, cursor? })",
        "clientCall": "client.twitter.search({ query })"
      },
      "parameterNames": [
        "query",
        "section",
        "minRetweets",
        "minLikes",
        "minReplies",
        "limit",
        "startDate",
        "endDate",
        "language",
        "cursor"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text to run against public posts on X."
        },
        {
          "name": "section",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "top",
            "latest",
            "people",
            "photos",
            "videos"
          ],
          "description": "Optional search section filter. Omit to use the default `top` section."
        },
        {
          "name": "minRetweets",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Optional minimum retweet count filter."
        },
        {
          "name": "minLikes",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Optional minimum like count filter."
        },
        {
          "name": "minReplies",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Optional minimum reply count filter."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Optional page size. Maximum supported value is 20."
        },
        {
          "name": "startDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional start date filter in YYYY-MM-DD format."
        },
        {
          "name": "endDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional end date filter in YYYY-MM-DD format."
        },
        {
          "name": "language",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "en",
            "es",
            "fr",
            "de",
            "it",
            "pt",
            "ru",
            "zh",
            "ja",
            "ko",
            "ar",
            "bg",
            "hr",
            "cs",
            "da",
            "nl",
            "et",
            "fi",
            "el",
            "hu",
            "id",
            "ga",
            "lv",
            "lt",
            "no",
            "pl",
            "ro",
            "sk",
            "sl",
            "sv",
            "tr",
            "uk",
            "vi",
            "cy",
            "zu"
          ],
          "description": "Optional language filter."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text to run against public posts on X."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitter/hashtags",
      "summary": "Search Twitter by hashtag",
      "tag": "Twitter",
      "operationId": "twitter.hashtag.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per successful request.",
      "docsPathname": "/docs/api/v1/twitter/hashtags/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/hashtags/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/hashtags/get.mdx",
      "sdkMethod": {
        "resource": "twitter",
        "methodName": "searchHashtags",
        "signature": "client.twitter.searchHashtags({ hashtag, section?, limit?, cursor? })",
        "clientCall": "client.twitter.searchHashtags({ hashtag: \"python\" })"
      },
      "parameterNames": [
        "hashtag",
        "section",
        "limit",
        "cursor"
      ],
      "parameters": [
        {
          "name": "hashtag",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Hashtag to search for."
        },
        {
          "name": "section",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "top",
            "latest",
            "people",
            "photos",
            "videos"
          ],
          "description": "Optional section filter for the hashtag feed. Omit to use the default `top` section."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Optional page size. Maximum supported value is 20."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitter/communities",
      "summary": "Get Twitter community",
      "tag": "Twitter",
      "operationId": "twitter.community.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/twitter/communities/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/communities/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/communities/get.mdx",
      "sdkMethod": {
        "resource": "twitter",
        "methodName": "getCommunity",
        "signature": "client.twitter.getCommunity({ url })",
        "clientCall": "client.twitter.getCommunity({ url })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Community URL to look up."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Community URL to look up."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitter/communities/tweets",
      "summary": "List Twitter community tweets",
      "tag": "Twitter",
      "operationId": "twitter.community.tweets.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/twitter/communities/tweets/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/communities/tweets/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitter/communities/tweets/get.mdx",
      "sdkMethod": {
        "resource": "twitter",
        "methodName": "getCommunityTweets",
        "signature": "client.twitter.getCommunityTweets({ url })",
        "clientCall": "client.twitter.getCommunityTweets({ url })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Community URL to look up."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Community URL to look up."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "`lookupStatus: found` may still return an empty `data.tweets` array."
      }
    },
    {
      "method": "GET",
      "path": "/v1/whoami",
      "summary": "Whoami",
      "tag": "Auth",
      "operationId": "auth.whoami",
      "requiresApiKey": true,
      "docsPathname": "/docs/api/v1/whoami",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/whoami",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/whoami.mdx",
      "sdkMethod": {
        "resource": "auth",
        "methodName": "whoami",
        "signature": "client.auth.whoami()",
        "clientCall": "client.auth.whoami()"
      },
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/balance",
      "summary": "Get account balance",
      "tag": "Auth",
      "operationId": "billing.balance.get",
      "requiresApiKey": true,
      "docsPathname": "/docs/api/v1/balance",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/balance",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/balance.mdx",
      "sdkMethod": {
        "resource": "billing",
        "methodName": "getBalance",
        "signature": "client.billing.getBalance()",
        "clientCall": "client.billing.getBalance()"
      },
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "POST",
      "path": "/v1/ask",
      "summary": "Ask in natural language",
      "tag": "System",
      "operationId": "nl.ask.post",
      "requiresApiKey": true,
      "creditsPricingSummary": "Routing is free. The nested lookup bills at that endpoint's normal credit rate — see meta.creditsCharged.",
      "docsPathname": "/docs/api/v1/ask/post",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/ask/post",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/ask/post.mdx",
      "sdkMethod": {
        "resource": "client",
        "methodName": "ask",
        "signature": "client.ask({ query: \"How many TikTok followers does MrBeast have?\" })",
        "clientCall": "client.ask({ query: \"How many TikTok followers does MrBeast have?\" })"
      },
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/health",
      "summary": "Health check",
      "tag": "System",
      "operationId": "system.health",
      "requiresApiKey": false,
      "docsPathname": "/docs/api/health/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/health/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/health/get.mdx",
      "sdkMethod": {
        "resource": "client",
        "methodName": "health",
        "signature": "client.health()",
        "clientCall": "client.health()"
      },
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/telegram/channels/{handle}",
      "summary": "Get Telegram channel",
      "tag": "Telegram",
      "operationId": "telegram.channel.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/telegram/channels/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/telegram/channels/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/telegram/channels/handle/get.mdx",
      "sdkMethod": {
        "resource": "telegram",
        "methodName": "getChannel",
        "signature": "client.telegram.getChannel({ handle: \"durov\" })",
        "clientCall": "client.telegram.getChannel({ handle: \"durov\" })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Telegram public username (channel or group), with or without leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Telegram public username (channel or group), with or without leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "restricted"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/telegram/channels/{handle}/posts",
      "summary": "List Telegram channel posts",
      "tag": "Telegram",
      "operationId": "telegram.channel_posts.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/telegram/channels/handle/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/telegram/channels/handle/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/telegram/channels/handle/posts/get.mdx",
      "sdkMethod": {
        "resource": "telegram",
        "methodName": "getChannelPosts",
        "signature": "client.telegram.getChannelPosts({ handle: \"durov\", cursor? })",
        "clientCall": "client.telegram.getChannelPosts({ handle: \"durov\" })"
      },
      "parameterNames": [
        "handle",
        "cursor"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Telegram public username (channel or group), with or without leading @."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response. Omit for the first page."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Telegram public username (channel or group), with or without leading @."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "restricted"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/telegram/channels/{handle}/posts/{postId}",
      "summary": "Get Telegram channel post",
      "tag": "Telegram",
      "operationId": "telegram.channel_post.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/telegram/channels/handle/posts/postid/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/telegram/channels/handle/posts/postid/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/telegram/channels/handle/posts/postid/get.mdx",
      "sdkMethod": {
        "resource": "telegram",
        "methodName": "getChannelPost",
        "signature": "client.telegram.getChannelPost({ handle: \"Premiumoji\", postId: \"93\" })",
        "clientCall": "client.telegram.getChannelPost({ handle: \"Premiumoji\", postId: \"93\" })"
      },
      "parameterNames": [
        "handle",
        "postId"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Telegram public username (channel or group), with or without leading @."
        },
        {
          "name": "postId",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Numeric Telegram channel post ID from the public URL."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Telegram public username (channel or group), with or without leading @."
        },
        {
          "name": "postId",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Numeric Telegram channel post ID from the public URL."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "restricted"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/amazon/shop",
      "summary": "Get Amazon Shop page",
      "tag": "Amazon",
      "operationId": "amazon.shop.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/amazon/shop/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/amazon/shop/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/amazon/shop/get.mdx",
      "sdkMethod": {
        "resource": "amazon",
        "methodName": "getShop",
        "signature": "client.amazon.getShop({ url, cursor? })",
        "clientCall": "client.amazon.getShop({ url: \"https://www.amazon.com/shop/sydneydelrey\" })"
      },
      "parameterNames": [
        "url",
        "cursor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Amazon Shop storefront URL."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Amazon Shop storefront URL."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "Empty `data.lists`, `data.trendingPicks`, or `data.curations` with `lookupStatus: found` means this storefront page has no collections (or this page of a paginated shop is empty). `data.lists` mixes idea lists (`kind: list`) and shoppable photos (`kind: photo`). The cursor pages `data.lists`; profile, trendingPicks, and curations are first-page fields. This is not a product PDP lookup.",
        "disambiguation": "Pass an amazon.com/shop/... creator storefront URL. Extra path segments such as `/list/...` are resolved to the storefront. Product pages (`/dp/`) and brand stores (`/stores/`) are rejected with HTTP 400."
      }
    },
    {
      "method": "GET",
      "path": "/v1/linktree/profiles/{handle}",
      "summary": "Get Linktree profile",
      "tag": "Linktree",
      "operationId": "linktree.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/linktree/profiles/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/linktree/profiles/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/linktree/profiles/handle/get.mdx",
      "sdkMethod": {
        "resource": "linktree",
        "methodName": "getProfile",
        "signature": "client.linktree.getProfile({ handle: \"miguelangeles\" })",
        "clientCall": "client.linktree.getProfile({ handle: \"miguelangeles\" })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Linktree handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Linktree handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/search",
      "summary": "Search Hacker News",
      "tag": "Hacker News",
      "operationId": "hackernews.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/search/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "search",
        "signature": "client.hackernews.search({ query: \"Dropbox\" })",
        "clientCall": "client.hackernews.search({ query: \"Dropbox\" })"
      },
      "parameterNames": [
        "query",
        "type",
        "sort",
        "dateRange",
        "page",
        "limit",
        "frontPageOnly",
        "searchStoryText",
        "searchAuthor",
        "prefix",
        "typoTolerance",
        "author",
        "domain",
        "url",
        "minPoints"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Full-text search query. Required unless `frontPageOnly`, `author`, `domain`, or `url` is set."
        },
        {
          "name": "type",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "story",
            "comment",
            "ask_hn",
            "show_hn",
            "launch_hn",
            "job",
            "poll"
          ],
          "description": "Restrict search results to a Hacker News content type. `ask_hn`: Ask HN posts (questions to the community). `show_hn`: Show HN posts (projects/work being shared). `launch_hn`: Launch HN posts (YC-affiliated company launches). Default: `all`."
        },
        {
          "name": "sort",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "popularity",
            "date"
          ],
          "description": "Ranking mode. Default: `popularity`."
        },
        {
          "name": "dateRange",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "24h",
            "week",
            "month",
            "year",
            "all"
          ],
          "description": "Creation-time window. Default: `all`."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Zero-based page index (maximum 50 pages, up to 1,000 hits)."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "description": "Hits per page. Must be one of 10, 20, 30, 50. Default: 20. Prefer this over `pageSize`."
        },
        {
          "name": "frontPageOnly",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, restrict results to current front-page items. Allows omitting `query`."
        },
        {
          "name": "searchStoryText",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Include story/comment text in searchable fields. Default: true. Set false to search title/URL only."
        },
        {
          "name": "searchAuthor",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, include author username in the searchable fields."
        },
        {
          "name": "prefix",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, enable prefix matching for query tokens."
        },
        {
          "name": "typoTolerance",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Enable typo tolerance. Default: true."
        },
        {
          "name": "author",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Restrict results to items by this Hacker News username."
        },
        {
          "name": "domain",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Restrict search to story URLs matching this domain (e.g. example.com). Can omit `query`."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Restrict search to story URLs matching this URL substring. Can omit `query`."
        },
        {
          "name": "minPoints",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Minimum points/score filter."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Full-text search query. Required unless `frontPageOnly`, `author`, `domain`, or `url` is set."
        },
        {
          "name": "author",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Restrict results to items by this Hacker News username."
        },
        {
          "name": "domain",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Restrict search to story URLs matching this domain (e.g. example.com). Can omit `query`."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Restrict search to story URLs matching this URL substring. Can omit `query`."
        }
      ],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/feeds/{feed}",
      "summary": "List a Hacker News feed",
      "tag": "Hacker News",
      "operationId": "hackernews.feed.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/feeds/feed/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/feeds/feed/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/feeds/feed/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "listFeed",
        "signature": "client.hackernews.listFeed({ feed: \"top\" })",
        "clientCall": "client.hackernews.listFeed({ feed: \"top\" })"
      },
      "parameterNames": [
        "feed",
        "page",
        "limit"
      ],
      "parameters": [
        {
          "name": "feed",
          "location": "path",
          "required": true,
          "type": "string",
          "enumValues": [
            "top",
            "new",
            "best",
            "ask",
            "show",
            "jobs"
          ],
          "description": "Hacker News feed: top, new, best, ask, show, or jobs."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Zero-based page index (maximum 50 pages). Default: 0. Advance with `data.page.nextPage` when `hasMore` is true."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Items to hydrate per page (1–50). Default: 30. Prefer this over `pageSize`."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/stories/{id}",
      "summary": "Get Hacker News story",
      "tag": "Hacker News",
      "operationId": "hackernews.story.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/stories/id/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/stories/id/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/stories/id/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "getStory",
        "signature": "client.hackernews.getStory({ id: 8863 })",
        "clientCall": "client.hackernews.getStory({ id: 8863 })"
      },
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "integer",
          "description": "Hacker News story id."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "integer",
          "description": "Hacker News story id."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "not_story"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/stories/{id}/comments",
      "summary": "Get Hacker News story comments",
      "tag": "Hacker News",
      "operationId": "hackernews.story.comments.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "3 credits per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/stories/id/comments/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/stories/id/comments/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/stories/id/comments/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "getStoryComments",
        "signature": "client.hackernews.getStoryComments({ id: 8863 })",
        "clientCall": "client.hackernews.getStoryComments({ id: 8863 })"
      },
      "parameterNames": [
        "id",
        "limit",
        "cursor"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "integer",
          "description": "Hacker News story id whose comment tree should be returned."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Maximum comment nodes to return in this page (1–100). Default: 50."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque continuation cursor from a previous response. Omit for the first page."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "integer",
          "description": "Hacker News story id whose comment tree should be returned."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "not_story"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/items/{id}",
      "summary": "Get Hacker News item",
      "tag": "Hacker News",
      "operationId": "hackernews.item.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/items/id/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/items/id/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/items/id/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "getItem",
        "signature": "client.hackernews.getItem({ id: 8863 })",
        "clientCall": "client.hackernews.getItem({ id: 8863 })"
      },
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "integer",
          "description": "Hacker News item id."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "integer",
          "description": "Hacker News item id."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/comments/{id}/context",
      "summary": "Get Hacker News comment context",
      "tag": "Hacker News",
      "operationId": "hackernews.comment.context.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/comments/id/context/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/comments/id/context/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/comments/id/context/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "getCommentContext",
        "signature": "client.hackernews.getCommentContext({ id: 9224 })",
        "clientCall": "client.hackernews.getCommentContext({ id: 9224 })"
      },
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "integer",
          "description": "Hacker News comment id."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "integer",
          "description": "Hacker News comment id."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "not_comment"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/users/{username}",
      "summary": "Get Hacker News user profile",
      "tag": "Hacker News",
      "operationId": "hackernews.user.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/users/username/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/users/username/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/users/username/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "getUserProfile",
        "signature": "client.hackernews.getUserProfile({ username: \"jl\" })",
        "clientCall": "client.hackernews.getUserProfile({ username: \"jl\" })"
      },
      "parameterNames": [
        "username"
      ],
      "parameters": [
        {
          "name": "username",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Hacker News username (case-sensitive)."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "username",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Hacker News username (case-sensitive)."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/users/{username}/submissions",
      "summary": "List Hacker News user submissions",
      "tag": "Hacker News",
      "operationId": "hackernews.user.submissions.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/users/username/submissions/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/users/username/submissions/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/users/username/submissions/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "getUserSubmissions",
        "signature": "client.hackernews.getUserSubmissions({ username: \"jl\" })",
        "clientCall": "client.hackernews.getUserSubmissions({ username: \"jl\" })"
      },
      "parameterNames": [
        "username",
        "page",
        "limit"
      ],
      "parameters": [
        {
          "name": "username",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Hacker News username (case-sensitive)."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Zero-based page index (maximum 50 pages, up to 1,000 hits)."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Hits per page (1–50). Default: 20. Prefer this over `pageSize`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "username",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Hacker News username (case-sensitive)."
        }
      ],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/users/{username}/comments",
      "summary": "List Hacker News user comments",
      "tag": "Hacker News",
      "operationId": "hackernews.user.comments.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/users/username/comments/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/users/username/comments/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/users/username/comments/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "getUserComments",
        "signature": "client.hackernews.getUserComments({ username: \"jl\" })",
        "clientCall": "client.hackernews.getUserComments({ username: \"jl\" })"
      },
      "parameterNames": [
        "username",
        "page",
        "limit"
      ],
      "parameters": [
        {
          "name": "username",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Hacker News username (case-sensitive)."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Zero-based page index (maximum 50 pages, up to 1,000 hits)."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Hits per page (1–50). Default: 20. Prefer this over `pageSize`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "username",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Hacker News username (case-sensitive)."
        }
      ],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/users/{username}/favorites",
      "summary": "List Hacker News user favorites",
      "tag": "Hacker News",
      "operationId": "hackernews.user.favorites.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/users/username/favorites/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/users/username/favorites/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/users/username/favorites/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "getUserFavorites",
        "signature": "client.hackernews.getUserFavorites({ username: \"tptacek\" })",
        "clientCall": "client.hackernews.getUserFavorites({ username: \"tptacek\" })"
      },
      "parameterNames": [
        "username",
        "page"
      ],
      "parameters": [
        {
          "name": "username",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Hacker News username (case-sensitive)."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "One-based HTML favorites page number. Default: 1. Each page bills 1 credit."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "username",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Hacker News username (case-sensitive)."
        }
      ],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "private_or_unavailable"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/jobs/who-is-hiring",
      "summary": "List Who is Hiring jobs",
      "tag": "Hacker News",
      "operationId": "hackernews.jobs.who_is_hiring.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/jobs/who-is-hiring/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/jobs/who-is-hiring/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/jobs/who-is-hiring/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "listWhoIsHiring",
        "signature": "client.hackernews.listWhoIsHiring()",
        "clientCall": "client.hackernews.listWhoIsHiring()"
      },
      "parameterNames": [
        "month",
        "page",
        "limit"
      ],
      "parameters": [
        {
          "name": "month",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Calendar month (YYYY-MM) to pin a Who is Hiring thread. Default: latest thread."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Zero-based page index of top-level hiring comments."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Job rows per page (1–50). Default: 20. Prefer this over `pageSize`."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/updates",
      "summary": "Get Hacker News updates",
      "tag": "Hacker News",
      "operationId": "hackernews.updates.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/updates/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/updates/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/updates/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "getUpdates",
        "signature": "client.hackernews.getUpdates()",
        "clientCall": "client.hackernews.getUpdates()"
      },
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/hackernews/maxitem",
      "summary": "Get Hacker News max item id",
      "tag": "Hacker News",
      "operationId": "hackernews.maxitem.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/hackernews/maxitem/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/maxitem/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/hackernews/maxitem/get.mdx",
      "sdkMethod": {
        "resource": "hackernews",
        "methodName": "getMaxItem",
        "signature": "client.hackernews.getMaxItem()",
        "clientCall": "client.hackernews.getMaxItem()"
      },
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/truthsocial/profiles/{handle}",
      "summary": "Get Truth Social profile",
      "tag": "Truth Social",
      "operationId": "truthsocial.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per successful request.",
      "docsPathname": "/docs/api/v1/truthsocial/profiles/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/truthsocial/profiles/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/truthsocial/profiles/handle/get.mdx",
      "sdkMethod": {
        "resource": "truthsocial",
        "methodName": "getProfile",
        "signature": "client.truthsocial.getProfile({ handle: \"realDonaldTrump\" })",
        "clientCall": "client.truthsocial.getProfile({ handle: \"realDonaldTrump\" })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Truth Social handle or account id."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Truth Social handle or account id."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/truthsocial/profiles/{handle}/posts",
      "summary": "List Truth Social profile posts",
      "tag": "Truth Social",
      "operationId": "truthsocial.profile.posts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits base. With `includeReplies`, Include replies. Up to 4 credits max.",
      "docsPathname": "/docs/api/v1/truthsocial/profiles/handle/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/truthsocial/profiles/handle/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/truthsocial/profiles/handle/posts/get.mdx",
      "sdkMethod": {
        "resource": "truthsocial",
        "methodName": "getProfilePosts",
        "signature": "client.truthsocial.getProfilePosts({ handle: \"realDonaldTrump\", cursor?, limit? })",
        "clientCall": "client.truthsocial.getProfilePosts({ handle: \"realDonaldTrump\" })"
      },
      "parameterNames": [
        "handle",
        "cursor",
        "includeReplies",
        "limit"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Truth Social handle or account id."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response. Omit for the first page."
        },
        {
          "name": "includeReplies",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, includes reply posts in the timeline. Adds 2 credits (4 total including the base lookup). Default: false (top-level posts only)."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Maximum posts to return (1–20). Default: 20."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Truth Social handle or account id."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/truthsocial/posts",
      "summary": "Get Truth Social post",
      "tag": "Truth Social",
      "operationId": "truthsocial.post.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per successful request.",
      "docsPathname": "/docs/api/v1/truthsocial/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/truthsocial/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/truthsocial/posts/get.mdx",
      "sdkMethod": {
        "resource": "truthsocial",
        "methodName": "getPost",
        "signature": "client.truthsocial.getPost({ url: \"https://truthsocial.com/@justthenews/116972401572691045\" })",
        "clientCall": "client.truthsocial.getPost({ url: \"https://truthsocial.com/@justthenews/116972401572691045\" })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Truth Social post."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Truth Social post."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/google/ad-library/companies/ads",
      "summary": "List Google company ads",
      "tag": "Google",
      "operationId": "google.company.ads.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "25 credits per successful request.",
      "docsPathname": "/docs/api/v1/google/ad-library/companies/ads/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/google/ad-library/companies/ads/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/google/ad-library/companies/ads/get.mdx",
      "sdkMethod": {
        "resource": "google",
        "methodName": "listCompanyAds",
        "signature": "client.google.listCompanyAds({ domain?, advertiserId?, topic?, region?, startDate?, endDate?, platform?, format?, cursor? })",
        "clientCall": "client.google.listCompanyAds({ domain: \"lululemon.com\" })"
      },
      "parameterNames": [
        "domain",
        "advertiserId",
        "topic",
        "region",
        "startDate",
        "endDate",
        "platform",
        "format",
        "cursor"
      ],
      "parameters": [
        {
          "name": "domain",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Company domain when you do not have an advertiser id."
        },
        {
          "name": "advertiserId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Google Ad Transparency advertiser id when you have it instead of a domain."
        },
        {
          "name": "topic",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "political"
          ],
          "description": "Optional topic filter. When `political`, `region` is required."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional region filter as a two-letter country code."
        },
        {
          "name": "startDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional start date filter in YYYY-MM-DD format."
        },
        {
          "name": "endDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional end date filter in YYYY-MM-DD format."
        },
        {
          "name": "platform",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "google_maps",
            "google_play",
            "google_search",
            "google_shopping",
            "youtube"
          ],
          "description": "Optional Google surface filter."
        },
        {
          "name": "format",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "text",
            "image",
            "video"
          ],
          "description": "Optional creative format filter."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "domain",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Company domain when you do not have an advertiser id."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Google Ad Transparency only includes public ads."
      }
    },
    {
      "method": "GET",
      "path": "/v1/google/ad-library/ads",
      "summary": "Get Google Ad Library ad",
      "tag": "Google",
      "operationId": "google.adLibrary.ad.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/google/ad-library/ads/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/google/ad-library/ads/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/google/ad-library/ads/get.mdx",
      "sdkMethod": {
        "resource": "google",
        "methodName": "getAdLibraryAd",
        "signature": "client.google.getAdLibraryAd({ url })",
        "clientCall": "client.google.getAdLibraryAd({ url: \"https://adstransparency.google.com/advertiser/AR01614014350098432001/creative/CR07443539616616939521\" })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Google Ad Transparency URL for the creative."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Public Google Ad Transparency URL for the creative."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/google/ad-library/advertisers/search",
      "summary": "Search Google Ad Library advertisers",
      "tag": "Google",
      "operationId": "google.adLibrary.advertisers.search",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/google/ad-library/advertisers/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/google/ad-library/advertisers/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/google/ad-library/advertisers/search/get.mdx",
      "sdkMethod": {
        "resource": "google",
        "methodName": "searchAdLibraryAdvertisers",
        "signature": "client.google.searchAdLibraryAdvertisers({ query, region? })",
        "clientCall": "client.google.searchAdLibraryAdvertisers({ query: \"lululemon\" })"
      },
      "parameterNames": [
        "query",
        "region"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Google Ad Transparency advertisers."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Two-letter country code to search in. Default: `US`."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Google Ad Transparency advertisers."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/pinterest/profiles/{handle}/boards",
      "summary": "List Pinterest profile boards",
      "tag": "Pinterest",
      "operationId": "pinterest.profile.boards.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/pinterest/profiles/handle/boards/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/pinterest/profiles/handle/boards/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/pinterest/profiles/handle/boards/get.mdx",
      "sdkMethod": {
        "resource": "pinterest",
        "methodName": "listProfileBoards",
        "signature": "client.pinterest.listProfileBoards({ handle, cursor?, trim? })",
        "clientCall": "client.pinterest.listProfileBoards({ handle })"
      },
      "parameterNames": [
        "handle",
        "cursor",
        "trim"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Pinterest username whose boards should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Pinterest username whose boards should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/pinterest/boards/pins",
      "summary": "List Pinterest board pins",
      "tag": "Pinterest",
      "operationId": "pinterest.board.pins.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/pinterest/boards/pins/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/pinterest/boards/pins/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/pinterest/boards/pins/get.mdx",
      "sdkMethod": {
        "resource": "pinterest",
        "methodName": "listBoardPins",
        "signature": "client.pinterest.listBoardPins({ url, cursor?, trim? })",
        "clientCall": "client.pinterest.listBoardPins({ url })"
      },
      "parameterNames": [
        "url",
        "cursor",
        "trim"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Pinterest board."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Pinterest board."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/pinterest/pins",
      "summary": "Get Pinterest pin",
      "tag": "Pinterest",
      "operationId": "pinterest.pin.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/pinterest/pins/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/pinterest/pins/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/pinterest/pins/get.mdx",
      "sdkMethod": {
        "resource": "pinterest",
        "methodName": "getPin",
        "signature": "client.pinterest.getPin({ url, trim? })",
        "clientCall": "client.pinterest.getPin({ url })"
      },
      "parameterNames": [
        "url",
        "trim"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Pinterest pin."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Pinterest pin."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/pinterest/search",
      "summary": "Search Pinterest pins",
      "tag": "Pinterest",
      "operationId": "pinterest.search.pins.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/pinterest/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/pinterest/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/pinterest/search/get.mdx",
      "sdkMethod": {
        "resource": "pinterest",
        "methodName": "searchPins",
        "signature": "client.pinterest.searchPins({ query, cursor?, trim? })",
        "clientCall": "client.pinterest.searchPins({ query })"
      },
      "parameterNames": [
        "query",
        "cursor",
        "trim"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Pinterest pins."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Pinterest pins."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/threads/profiles/{handle}",
      "summary": "Get Threads profile",
      "tag": "Threads",
      "operationId": "threads.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/threads/profiles/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/threads/profiles/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/threads/profiles/handle/get.mdx",
      "sdkMethod": {
        "resource": "threads",
        "methodName": "getProfile",
        "signature": "client.threads.getProfile({ handle })",
        "clientCall": "client.threads.getProfile({ handle })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Threads handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Threads handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "private",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/threads/profiles/{handle}/posts",
      "summary": "List Threads profile posts",
      "tag": "Threads",
      "operationId": "threads.profile.posts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/threads/profiles/handle/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/threads/profiles/handle/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/threads/profiles/handle/posts/get.mdx",
      "sdkMethod": {
        "resource": "threads",
        "methodName": "getProfilePosts",
        "signature": "client.threads.getProfilePosts({ handle, trim? })",
        "clientCall": "client.threads.getProfilePosts({ handle, trim? })"
      },
      "parameterNames": [
        "handle",
        "trim"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Threads handle whose posts should be listed."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer post fields when available."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Threads handle whose posts should be listed."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "`lookupStatus: found` means the handle resolved; `data.posts` may still be empty."
      }
    },
    {
      "method": "GET",
      "path": "/v1/threads/posts",
      "summary": "Get Threads post",
      "tag": "Threads",
      "operationId": "threads.post.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/threads/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/threads/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/threads/posts/get.mdx",
      "sdkMethod": {
        "resource": "threads",
        "methodName": "getPost",
        "signature": "client.threads.getPost({ url, trim? })",
        "clientCall": "client.threads.getPost({ url })"
      },
      "parameterNames": [
        "url",
        "trim"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Threads post."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, returns a smaller response with fewer fields."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Threads post."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/threads/search",
      "summary": "Search Threads posts",
      "tag": "Threads",
      "operationId": "threads.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/threads/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/threads/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/threads/search/get.mdx",
      "sdkMethod": {
        "resource": "threads",
        "methodName": "search",
        "signature": "client.threads.search({ query, startDate?, endDate?, trim? })",
        "clientCall": "client.threads.search({ query })"
      },
      "parameterNames": [
        "query",
        "startDate",
        "endDate",
        "trim"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for public Threads posts."
        },
        {
          "name": "startDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional start date filter in YYYY-MM-DD format."
        },
        {
          "name": "endDate",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional end date filter in YYYY-MM-DD format."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Whether to request a smaller response shape when available."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for public Threads posts."
        }
      ],
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/threads/users/search",
      "summary": "Search Threads users",
      "tag": "Threads",
      "operationId": "threads.users.search",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/threads/users/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/threads/users/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/threads/users/search/get.mdx",
      "sdkMethod": {
        "resource": "threads",
        "methodName": "searchUsers",
        "signature": "client.threads.searchUsers({ query })",
        "clientCall": "client.threads.searchUsers({ query })"
      },
      "parameterNames": [
        "query"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Threads users."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Threads users."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/bluesky/profiles/{handle}",
      "summary": "Get Bluesky profile",
      "tag": "Bluesky",
      "operationId": "bluesky.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/bluesky/profiles/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/bluesky/profiles/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/bluesky/profiles/handle/get.mdx",
      "sdkMethod": {
        "resource": "bluesky",
        "methodName": "getProfile",
        "signature": "client.bluesky.getProfile({ handle })",
        "clientCall": "client.bluesky.getProfile({ handle })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Bluesky handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Bluesky handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/bluesky/profiles/{handle}/posts",
      "summary": "List Bluesky profile posts",
      "tag": "Bluesky",
      "operationId": "bluesky.profile.posts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/bluesky/profiles/handle/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/bluesky/profiles/handle/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/bluesky/profiles/handle/posts/get.mdx",
      "sdkMethod": {
        "resource": "bluesky",
        "methodName": "getProfilePosts",
        "signature": "client.bluesky.getProfilePosts({ handle, cursor?, userId? })",
        "clientCall": "client.bluesky.getProfilePosts({ handle })"
      },
      "parameterNames": [
        "handle",
        "cursor",
        "userId"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Bluesky handle whose posts should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        },
        {
          "name": "userId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Bluesky user id to speed up the request."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Bluesky handle whose posts should be listed."
        },
        {
          "name": "userId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Bluesky user id to speed up the request."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/bluesky/posts",
      "summary": "Get Bluesky post",
      "tag": "Bluesky",
      "operationId": "bluesky.post.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/bluesky/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/bluesky/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/bluesky/posts/get.mdx",
      "sdkMethod": {
        "resource": "bluesky",
        "methodName": "getPost",
        "signature": "client.bluesky.getPost({ url })",
        "clientCall": "client.bluesky.getPost({ url })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Bluesky post."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Bluesky post."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/reddit/subreddits",
      "summary": "Get Reddit subreddit",
      "tag": "Reddit",
      "operationId": "reddit.subreddit.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/reddit/subreddits/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/subreddits/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/subreddits/get.mdx",
      "sdkMethod": {
        "resource": "reddit",
        "methodName": "getSubreddit",
        "signature": "client.reddit.getSubreddit({ subreddit } | { url }) — subreddit names are case-sensitive",
        "clientCall": "client.reddit.getSubreddit({ subreddit: \"AbsoluteUnits\" })"
      },
      "parameterNames": [
        "subreddit",
        "url"
      ],
      "parameters": [
        {
          "name": "subreddit",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Subreddit name, optional `r/` prefix, or Reddit subreddit URL. Must match Reddit's exact casing."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional subreddit URL for the request."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional subreddit URL for the request."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/reddit/subreddits/{subreddit}/posts",
      "summary": "List Reddit subreddit posts",
      "tag": "Reddit",
      "operationId": "reddit.subreddit.posts.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/reddit/subreddits/subreddit/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/subreddits/subreddit/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/subreddits/subreddit/posts/get.mdx",
      "sdkMethod": {
        "resource": "reddit",
        "methodName": "listSubredditPosts",
        "signature": "client.reddit.listSubredditPosts({ subreddit, sort?, timeframe?, cursor? }) — subreddit is case-sensitive",
        "clientCall": "client.reddit.listSubredditPosts({ subreddit: \"AskReddit\", sort: \"hot\" })"
      },
      "parameterNames": [
        "subreddit",
        "sort",
        "timeframe",
        "cursor"
      ],
      "parameters": [
        {
          "name": "subreddit",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Subreddit name, optional `r/` prefix, or Reddit subreddit URL. Must match Reddit's exact casing. Lists posts for this subreddit."
        },
        {
          "name": "sort",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "best",
            "hot",
            "new",
            "top",
            "rising"
          ],
          "description": "Optional sort order for the returned posts."
        },
        {
          "name": "timeframe",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "day",
            "week",
            "month",
            "year"
          ],
          "description": "Optional timeframe used only when `sort` is `top`. Ignored/rejected for other sorts."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        }
      ],
      "acceptedIdentifiers": [],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/reddit/posts",
      "summary": "Get Reddit post",
      "tag": "Reddit",
      "operationId": "reddit.post.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/reddit/posts/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/posts/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/posts/get.mdx",
      "sdkMethod": {
        "resource": "reddit",
        "methodName": "getPost",
        "signature": "client.reddit.getPost({ url })",
        "clientCall": "client.reddit.getPost({ url: \"https://www.reddit.com/r/coingecko/comments/1sgke73/coingecko_2026_spot_cex_report/\" })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Reddit post."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Reddit post."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Use this route for post details without comments. Use GET /v1/reddit/posts/comments for the comment tree. Use GET /v1/reddit/posts/transcript for video captions."
      }
    },
    {
      "method": "GET",
      "path": "/v1/reddit/posts/comments",
      "summary": "List Reddit post comments",
      "tag": "Reddit",
      "operationId": "reddit.post.comments.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/reddit/posts/comments/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/posts/comments/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/posts/comments/get.mdx",
      "sdkMethod": {
        "resource": "reddit",
        "methodName": "listPostComments",
        "signature": "client.reddit.listPostComments({ url, cursor?, trim? })",
        "clientCall": "client.reddit.listPostComments({ url: \"https://www.reddit.com/r/gadgets/comments/1tgimff/example/\" })"
      },
      "parameterNames": [
        "url",
        "cursor",
        "trim"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Reddit post."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque cursor from a previous response to fetch another page of comments or replies."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, requests a lighter response shape when available."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Reddit post."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": true,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/reddit/posts/transcript",
      "summary": "Get Reddit post transcript",
      "tag": "Reddit",
      "operationId": "reddit.post.transcript.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/reddit/posts/transcript/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/posts/transcript/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/posts/transcript/get.mdx",
      "sdkMethod": {
        "resource": "reddit",
        "methodName": "getPostTranscript",
        "signature": "client.reddit.getPostTranscript({ url, language? })",
        "clientCall": "client.reddit.getPostTranscript({ url: \"https://www.reddit.com/r/youseeingthisshit/comments/1oiu9xm/example/\" })"
      },
      "parameterNames": [
        "url",
        "language"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Reddit post or hosted video."
        },
        {
          "name": "language",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 639-1 language code (two letters) to prefer when multiple caption tracks exist."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Reddit post or hosted video."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "lookup_failed"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Accepts Reddit post permalinks and direct hosted video URLs."
      }
    },
    {
      "method": "GET",
      "path": "/v1/reddit/subreddits/search",
      "summary": "Search Reddit subreddit",
      "tag": "Reddit",
      "operationId": "reddit.subreddit.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/reddit/subreddits/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/subreddits/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/subreddits/search/get.mdx",
      "sdkMethod": {
        "resource": "reddit",
        "methodName": "searchSubreddit",
        "signature": "client.reddit.searchSubreddit({ subreddit, query?, sort?, timeframe?, cursor? }) — subreddit is case-sensitive",
        "clientCall": "client.reddit.searchSubreddit({ subreddit: \"Fitness\", query: \"push ups\" })"
      },
      "parameterNames": [
        "subreddit",
        "query",
        "sort",
        "timeframe",
        "cursor"
      ],
      "parameters": [
        {
          "name": "subreddit",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Subreddit name, optional `r/` prefix, or Reddit subreddit URL. Must match Reddit's exact casing. Searches posts within this subreddit."
        },
        {
          "name": "query",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Search text to match against public subreddit posts."
        },
        {
          "name": "sort",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "relevance",
            "hot",
            "top",
            "new",
            "comments"
          ],
          "description": "Sort order for search results. Default: `relevance`."
        },
        {
          "name": "timeframe",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "year",
            "month",
            "week",
            "day",
            "hour"
          ],
          "description": "Time range filter for search results. Default: `all`."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Search text to match against public subreddit posts."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Use `data.page.hasMore` and `data.page.nextCursor` for pagination rather than inferring completion from `data.totalResults` alone."
      }
    },
    {
      "method": "GET",
      "path": "/v1/reddit/search",
      "summary": "Search Reddit posts",
      "tag": "Reddit",
      "operationId": "reddit.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/reddit/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/reddit/search/get.mdx",
      "sdkMethod": {
        "resource": "reddit",
        "methodName": "search",
        "signature": "client.reddit.search({ query, sortBy?, timeframe?, cursor?, trim? })",
        "clientCall": "client.reddit.search({ query: \"webscraping\" })"
      },
      "parameterNames": [
        "query",
        "sortBy",
        "timeframe",
        "cursor",
        "trim"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for public Reddit posts."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "relevance",
            "new",
            "top"
          ],
          "description": "Optional sort order for search results."
        },
        {
          "name": "timeframe",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "day",
            "week",
            "month",
            "year"
          ],
          "description": "Optional time range filter for search results."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor returned by a previous response."
        },
        {
          "name": "trim",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Whether to request a smaller response shape when available."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for public Reddit posts."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [
        "relevance",
        "new",
        "top"
      ],
      "orderingHint": "Supported sort options: relevance, new, top.",
      "supportsTrim": true,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Use `data.page.hasMore` and `data.page.nextCursor` for pagination rather than inferring completion from `data.totalResults` alone."
      }
    },
    {
      "method": "GET",
      "path": "/v1/rumble/channels/videos",
      "summary": "List Rumble channel videos",
      "tag": "Rumble",
      "operationId": "rumble.channel.videos.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/rumble/channels/videos/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/rumble/channels/videos/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/rumble/channels/videos/get.mdx",
      "sdkMethod": {
        "resource": "rumble",
        "methodName": "listChannelVideos",
        "signature": "client.rumble.listChannelVideos({ url, cursor? })",
        "clientCall": "client.rumble.listChannelVideos({ url: \"https://rumble.com/c/StevenCrowder\" })"
      },
      "parameterNames": [
        "url",
        "cursor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Rumble channel."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Page number from a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Rumble channel."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/rumble/search",
      "summary": "Search Rumble",
      "tag": "Rumble",
      "operationId": "rumble.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/rumble/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/rumble/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/rumble/search/get.mdx",
      "sdkMethod": {
        "resource": "rumble",
        "methodName": "search",
        "signature": "client.rumble.search({ query, cursor? })",
        "clientCall": "client.rumble.search({ query: \"breaking news\" })"
      },
      "parameterNames": [
        "query",
        "cursor"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Rumble content."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Page number from a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Rumble content."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Use `data.page.hasMore` and `data.page.nextCursor` for pagination rather than inferring completion from `data.totalResults` alone."
      }
    },
    {
      "method": "GET",
      "path": "/v1/rumble/videos",
      "summary": "Get Rumble video",
      "tag": "Rumble",
      "operationId": "rumble.video.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/rumble/videos/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/rumble/videos/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/rumble/videos/get.mdx",
      "sdkMethod": {
        "resource": "rumble",
        "methodName": "getVideo",
        "signature": "client.rumble.getVideo({ url })",
        "clientCall": "client.rumble.getVideo({ url: \"https://rumble.com/v79xhhm-discovery-why-glenn-wants-israel-to-sue-the-new-york-times.html\" })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Rumble video."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Rumble video."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/rumble/videos/transcript",
      "summary": "Get Rumble video transcript",
      "tag": "Rumble",
      "operationId": "rumble.video.transcript.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit when a transcript is found; no charge when captions are unavailable.",
      "docsPathname": "/docs/api/v1/rumble/videos/transcript/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/rumble/videos/transcript/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/rumble/videos/transcript/get.mdx",
      "sdkMethod": {
        "resource": "rumble",
        "methodName": "getVideoTranscript",
        "signature": "client.rumble.getVideoTranscript({ url })",
        "clientCall": "client.rumble.getVideoTranscript({ url: \"https://rumble.com/v79xhhm-discovery-why-glenn-wants-israel-to-sue-the-new-york-times.html\" })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Rumble video."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Rumble video."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found",
          "lookup_failed"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/rumble/videos/comments",
      "summary": "List Rumble video comments",
      "tag": "Rumble",
      "operationId": "rumble.video.comments.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/rumble/videos/comments/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/rumble/videos/comments/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/rumble/videos/comments/get.mdx",
      "sdkMethod": {
        "resource": "rumble",
        "methodName": "listVideoComments",
        "signature": "client.rumble.listVideoComments({ url })",
        "clientCall": "client.rumble.listVideoComments({ url: \"https://rumble.com/v792vns-the-splc-is-a-deceitful-and-poisonous-group.-but-was-their-behavior-crimina.html\" })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Rumble video."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Rumble video."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitch/profiles/{handle}",
      "summary": "Get Twitch profile",
      "tag": "Twitch",
      "operationId": "twitch.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/twitch/profiles/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitch/profiles/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitch/profiles/handle/get.mdx",
      "sdkMethod": {
        "resource": "twitch",
        "methodName": "getProfile",
        "signature": "client.twitch.getProfile({ handle })",
        "clientCall": "client.twitch.getProfile({ handle: \"ishowspeed\" })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Twitch handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Twitch handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitch/profiles/{handle}/videos",
      "summary": "List Twitch profile videos",
      "tag": "Twitch",
      "operationId": "twitch.profile.videos.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/twitch/profiles/handle/videos/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitch/profiles/handle/videos/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitch/profiles/handle/videos/get.mdx",
      "sdkMethod": {
        "resource": "twitch",
        "methodName": "listProfileVideos",
        "signature": "client.twitch.listProfileVideos({ handle, filterBy?, sortBy? })",
        "clientCall": "client.twitch.listProfileVideos({ handle: \"loltyler1\", sortBy: \"views\" })"
      },
      "parameterNames": [
        "handle",
        "filterBy",
        "sortBy"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Twitch handle to look up, with or without a leading @."
        },
        {
          "name": "filterBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "highlight",
            "archive",
            "upload"
          ],
          "description": "Optional filter for the type of Twitch videos to return. `archive`: full unedited past broadcasts (VODs). `highlight`: shorter clips curated/edited by the streamer from past broadcasts. `upload`: videos uploaded directly, not recorded from a live stream."
        },
        {
          "name": "sortBy",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "time",
            "views"
          ],
          "description": "Optional sort order."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Twitch handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [
        "time",
        "views"
      ],
      "orderingHint": "Supported sort options: time, views.",
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitch/profiles/{handle}/schedule",
      "summary": "Get Twitch profile schedule",
      "tag": "Twitch",
      "operationId": "twitch.profile.schedule.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/twitch/profiles/handle/schedule/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitch/profiles/handle/schedule/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitch/profiles/handle/schedule/get.mdx",
      "sdkMethod": {
        "resource": "twitch",
        "methodName": "getProfileSchedule",
        "signature": "client.twitch.getProfileSchedule({ handle })",
        "clientCall": "client.twitch.getProfileSchedule({ handle: \"emongg\" })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Twitch handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Twitch handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/twitch/clips",
      "summary": "Get Twitch clip",
      "tag": "Twitch",
      "operationId": "twitch.clip.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/twitch/clips/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/twitch/clips/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/twitch/clips/get.mdx",
      "sdkMethod": {
        "resource": "twitch",
        "methodName": "getClip",
        "signature": "client.twitch.getClip({ url })",
        "clientCall": "client.twitch.getClip({ url: \"https://www.twitch.tv/staryuuki/clip/CloudySavageMarjoramRuleFive--ErzsYbE7UWvgCMQ\" })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Twitch clip."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the Twitch clip."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/github/profiles/{handle}",
      "summary": "Get GitHub profile",
      "tag": "GitHub",
      "operationId": "github.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/github/profiles/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/get.mdx",
      "sdkMethod": {
        "resource": "github",
        "methodName": "getProfile",
        "signature": "client.github.getProfile({ handle })",
        "clientCall": "client.github.getProfile({ handle })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/github/profiles/{handle}/repositories",
      "summary": "List GitHub profile repositories",
      "tag": "GitHub",
      "operationId": "github.profile.repositories.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/github/profiles/handle/repositories/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/repositories/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/repositories/get.mdx",
      "sdkMethod": {
        "resource": "github",
        "methodName": "listProfileRepositories",
        "signature": "client.github.listProfileRepositories({ handle, cursor?, type?, sort?, direction? })",
        "clientCall": "client.github.listProfileRepositories({ handle: 'torvalds' })"
      },
      "parameterNames": [
        "handle",
        "cursor",
        "type",
        "sort",
        "direction"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username whose public repositories should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor returned by a previous response."
        },
        {
          "name": "type",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "owner",
            "all",
            "member"
          ],
          "description": "Repository type filter. `owner`: repos owned by the user. `all`: owned repos plus repos from organizations the user belongs to. `member`: only repos the user belongs to via organization membership (not owned by the user). Default: `owner`."
        },
        {
          "name": "sort",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "created",
            "updated",
            "pushed",
            "full_name"
          ],
          "description": "Sort field for repositories."
        },
        {
          "name": "direction",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "asc",
            "desc"
          ],
          "description": "Sort direction."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username whose public repositories should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/github/profiles/{handle}/pull-requests",
      "summary": "List GitHub profile pull requests",
      "tag": "GitHub",
      "operationId": "github.profile.pullRequests.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/github/profiles/handle/pull-requests/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/pull-requests/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/pull-requests/get.mdx",
      "sdkMethod": {
        "resource": "github",
        "methodName": "listProfilePullRequests",
        "signature": "client.github.listProfilePullRequests({ handle, since?, until?, cursor? })",
        "clientCall": "client.github.listProfilePullRequests({ handle: 'torvalds' })"
      },
      "parameterNames": [
        "handle",
        "since",
        "until",
        "cursor"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username whose public pull requests should be listed."
        },
        {
          "name": "since",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Only return pull requests created on or after this date (YYYY-MM-DD)."
        },
        {
          "name": "until",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Only return pull requests created on or before this date (YYYY-MM-DD)."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor from a previous response (`data.page.nextCursor`)."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username whose public pull requests should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/github/profiles/{handle}/activity",
      "summary": "List GitHub profile activity",
      "tag": "GitHub",
      "operationId": "github.profile.activity.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/github/profiles/handle/activity/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/activity/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/activity/get.mdx",
      "sdkMethod": {
        "resource": "github",
        "methodName": "listProfileActivity",
        "signature": "client.github.listProfileActivity({ handle, year?, cursor? })",
        "clientCall": "client.github.listProfileActivity({ handle: 'torvalds' })"
      },
      "parameterNames": [
        "handle",
        "year",
        "cursor"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username whose public activity timeline should be listed."
        },
        {
          "name": "year",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Calendar year to read activity for. Default: current calendar year."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor from a previous response (`data.page.nextCursor`). Pages backward one month at a time through the selected year."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username whose public activity timeline should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "This endpoint returns one month of public contribution activity per request. Keep the same `year` on follow-up calls and pass `data.page.nextCursor` as `cursor` to page backward through the year."
      }
    },
    {
      "method": "GET",
      "path": "/v1/github/profiles/{handle}/followers",
      "summary": "List GitHub profile followers",
      "tag": "GitHub",
      "operationId": "github.profile.followers.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/github/profiles/handle/followers/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/followers/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/followers/get.mdx",
      "sdkMethod": {
        "resource": "github",
        "methodName": "listProfileFollowers",
        "signature": "client.github.listProfileFollowers({ handle, cursor? })",
        "clientCall": "client.github.listProfileFollowers({ handle: 'torvalds' })"
      },
      "parameterNames": [
        "handle",
        "cursor"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username whose followers should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor from a previous response (numeric page index as a string)."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username whose followers should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/github/profiles/{handle}/following",
      "summary": "List GitHub profile following",
      "tag": "GitHub",
      "operationId": "github.profile.following.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/github/profiles/handle/following/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/following/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/following/get.mdx",
      "sdkMethod": {
        "resource": "github",
        "methodName": "listProfileFollowing",
        "signature": "client.github.listProfileFollowing({ handle, cursor? })",
        "clientCall": "client.github.listProfileFollowing({ handle: 'torvalds' })"
      },
      "parameterNames": [
        "handle",
        "cursor"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username whose following list should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Pagination cursor from a previous response (numeric page index as a string)."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username whose following list should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/github/profiles/{handle}/contributions",
      "summary": "Get GitHub contribution graph",
      "tag": "GitHub",
      "operationId": "github.profile.contributions.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/github/profiles/handle/contributions/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/contributions/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/github/profiles/handle/contributions/get.mdx",
      "sdkMethod": {
        "resource": "github",
        "methodName": "getProfileContributions",
        "signature": "client.github.getProfileContributions({ handle, year? })",
        "clientCall": "client.github.getProfileContributions({ handle: 'torvalds' })"
      },
      "parameterNames": [
        "handle",
        "year"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username to look up, with or without a leading @."
        },
        {
          "name": "year",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Calendar year for the contribution graph. Default: current calendar year."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "GitHub username to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "`year` default: current calendar year. Contribution counts reflect public GitHub activity for that year."
      }
    },
    {
      "method": "GET",
      "path": "/v1/github/repositories",
      "summary": "Get GitHub repository",
      "tag": "GitHub",
      "operationId": "github.repositories.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/github/repositories/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/github/repositories/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/github/repositories/get.mdx",
      "sdkMethod": {
        "resource": "github",
        "methodName": "getRepository",
        "signature": "client.github.getRepository({ url })",
        "clientCall": "client.github.getRepository({ url: 'https://github.com/torvalds/linux' })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Full public GitHub repository URL."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Full public GitHub repository URL."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Use this endpoint for one repository when you have a full `owner/repo` URL. To list every public repository for a user, use the profile repositories list endpoint instead."
      }
    },
    {
      "method": "GET",
      "path": "/v1/github/trending/repositories",
      "summary": "List trending GitHub repositories",
      "tag": "GitHub",
      "operationId": "github.trending.repositories.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/github/trending/repositories/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/github/trending/repositories/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/github/trending/repositories/get.mdx",
      "sdkMethod": {
        "resource": "github",
        "methodName": "listTrendingRepositories",
        "signature": "client.github.listTrendingRepositories({ language?, since?, spokenLanguageCode? })",
        "clientCall": "client.github.listTrendingRepositories({ language: 'javascript', since: 'daily' })"
      },
      "parameterNames": [
        "language",
        "since",
        "spokenLanguageCode"
      ],
      "parameters": [
        {
          "name": "language",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional coding language filter."
        },
        {
          "name": "since",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "daily",
            "weekly",
            "monthly"
          ],
          "description": "Trending time window. Default: `daily`."
        },
        {
          "name": "spokenLanguageCode",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional spoken language code filter."
        }
      ],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Use `since` (`daily`, `weekly`, `monthly`) and optional `language` / `spokenLanguageCode` to narrow results. For trending developers instead of repositories, use the trending developers endpoint."
      }
    },
    {
      "method": "GET",
      "path": "/v1/github/trending/developers",
      "summary": "List trending GitHub developers",
      "tag": "GitHub",
      "operationId": "github.trending.developers.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/github/trending/developers/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/github/trending/developers/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/github/trending/developers/get.mdx",
      "sdkMethod": {
        "resource": "github",
        "methodName": "listTrendingDevelopers",
        "signature": "client.github.listTrendingDevelopers({ language?, since? })",
        "clientCall": "client.github.listTrendingDevelopers({ language: 'javascript', since: 'daily' })"
      },
      "parameterNames": [
        "language",
        "since"
      ],
      "parameters": [
        {
          "name": "language",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional trending coding language filter."
        },
        {
          "name": "since",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "daily",
            "weekly",
            "monthly"
          ],
          "description": "Trending time window. Default: `daily`."
        }
      ],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Use `since` (`daily`, `weekly`, `monthly`) and optional `language` to narrow results. Each developer may include `popularRepository` when GitHub highlights one. For trending repositories instead of developers, use the trending repositories endpoint."
      }
    },
    {
      "method": "GET",
      "path": "/v1/spotify/artist",
      "summary": "Get Spotify artist",
      "tag": "Spotify",
      "operationId": "spotify.artist.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/spotify/artist/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/spotify/artist/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/spotify/artist/get.mdx",
      "sdkMethod": {
        "resource": "spotify",
        "methodName": "getArtist",
        "signature": "client.spotify.getArtist({ artistId?, url? })",
        "clientCall": "client.spotify.getArtist({ artistId: \"1uNFoZAHBGtllmzznpCI3s\" })"
      },
      "parameterNames": [
        "artistId",
        "url"
      ],
      "parameters": [
        {
          "name": "artistId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Spotify artist id for the request."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Spotify artist URL for the request."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Spotify artist URL for the request."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/spotify/album",
      "summary": "Get Spotify album",
      "tag": "Spotify",
      "operationId": "spotify.album.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/spotify/album/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/spotify/album/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/spotify/album/get.mdx",
      "sdkMethod": {
        "resource": "spotify",
        "methodName": "getAlbum",
        "signature": "client.spotify.getAlbum({ albumId?, url? })",
        "clientCall": "client.spotify.getAlbum({ albumId: \"0pgrg7phBbnwGJ2HBEl9EG\" })"
      },
      "parameterNames": [
        "albumId",
        "url"
      ],
      "parameters": [
        {
          "name": "albumId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Spotify album id for the request."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Spotify album URL for the request."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Spotify album URL for the request."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/spotify/track",
      "summary": "Get Spotify track",
      "tag": "Spotify",
      "operationId": "spotify.track.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/spotify/track/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/spotify/track/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/spotify/track/get.mdx",
      "sdkMethod": {
        "resource": "spotify",
        "methodName": "getTrack",
        "signature": "client.spotify.getTrack({ trackId?, url? })",
        "clientCall": "client.spotify.getTrack({ trackId: \"1ITJflybJsfarsUtiBvkfK\" })"
      },
      "parameterNames": [
        "trackId",
        "url"
      ],
      "parameters": [
        {
          "name": "trackId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Spotify track id for the request."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Spotify track URL for the request."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Spotify track URL for the request."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/apple-music/search",
      "summary": "Search Apple Music",
      "tag": "Apple Music",
      "operationId": "appleMusic.search.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/apple-music/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/apple-music/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/apple-music/search/get.mdx",
      "sdkMethod": {
        "resource": "appleMusic",
        "methodName": "search",
        "signature": "client.appleMusic.search({ query, type? })",
        "clientCall": "client.appleMusic.search({ query: \"taylor swift\" })"
      },
      "parameterNames": [
        "query",
        "type"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Apple Music catalog results."
        },
        {
          "name": "type",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "all",
            "song",
            "album",
            "artist",
            "playlist",
            "station",
            "music_video",
            "radio_episode"
          ],
          "description": "Catalog result type to return. Omit to search across types (treated as all)."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Search query text for Apple Music catalog results."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/apple-music/artist",
      "summary": "Get Apple Music artist",
      "tag": "Apple Music",
      "operationId": "appleMusic.artist.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/apple-music/artist/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/apple-music/artist/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/apple-music/artist/get.mdx",
      "sdkMethod": {
        "resource": "appleMusic",
        "methodName": "getArtist",
        "signature": "client.appleMusic.getArtist({ artistId?, url? })",
        "clientCall": "client.appleMusic.getArtist({ artistId: \"159260351\" })"
      },
      "parameterNames": [
        "artistId",
        "url"
      ],
      "parameters": [
        {
          "name": "artistId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Apple Music artist id for the request."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Apple Music artist URL for the request."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Apple Music artist URL for the request."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/apple-music/album",
      "summary": "Get Apple Music album",
      "tag": "Apple Music",
      "operationId": "appleMusic.album.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/apple-music/album/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/apple-music/album/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/apple-music/album/get.mdx",
      "sdkMethod": {
        "resource": "appleMusic",
        "methodName": "getAlbum",
        "signature": "client.appleMusic.getAlbum({ albumId?, url? })",
        "clientCall": "client.appleMusic.getAlbum({ albumId: \"1468058165\" })"
      },
      "parameterNames": [
        "albumId",
        "url"
      ],
      "parameters": [
        {
          "name": "albumId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Apple Music album id for the request."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Apple Music album URL for the request."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Apple Music album URL for the request."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/apple-music/track",
      "summary": "Get Apple Music track",
      "tag": "Apple Music",
      "operationId": "appleMusic.track.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/apple-music/track/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/apple-music/track/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/apple-music/track/get.mdx",
      "sdkMethod": {
        "resource": "appleMusic",
        "methodName": "getTrack",
        "signature": "client.appleMusic.getTrack({ trackId?, url? })",
        "clientCall": "client.appleMusic.getTrack({ trackId: \"1468058169\" })"
      },
      "parameterNames": [
        "trackId",
        "url"
      ],
      "parameters": [
        {
          "name": "trackId",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Apple Music song id for the request."
        },
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Apple Music song URL for the request."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional Apple Music song URL for the request."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "disambiguation": "Album URLs must include i={songId} to identify the song. Use GET /v1/apple-music/album for album lookups."
      }
    },
    {
      "method": "GET",
      "path": "/v1/soundcloud/profiles/{handle}",
      "summary": "Get SoundCloud profile",
      "tag": "SoundCloud",
      "operationId": "soundcloud.profile.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/soundcloud/profiles/handle/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/soundcloud/profiles/handle/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/soundcloud/profiles/handle/get.mdx",
      "sdkMethod": {
        "resource": "soundcloud",
        "methodName": "getProfile",
        "signature": "client.soundcloud.getProfile({ handle })",
        "clientCall": "client.soundcloud.getProfile({ handle: \"kehlanimusic\" })"
      },
      "parameterNames": [
        "handle"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "SoundCloud handle to look up, with or without a leading @."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "SoundCloud handle to look up, with or without a leading @."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/soundcloud/profiles/{handle}/tracks",
      "summary": "List SoundCloud profile tracks",
      "tag": "SoundCloud",
      "operationId": "soundcloud.profile.tracks.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/soundcloud/profiles/handle/tracks/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/soundcloud/profiles/handle/tracks/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/soundcloud/profiles/handle/tracks/get.mdx",
      "sdkMethod": {
        "resource": "soundcloud",
        "methodName": "listProfileTracks",
        "signature": "client.soundcloud.listProfileTracks({ handle, cursor? })",
        "clientCall": "client.soundcloud.listProfileTracks({ handle: \"kehlanimusic\" })"
      },
      "parameterNames": [
        "handle",
        "cursor"
      ],
      "parameters": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "SoundCloud handle whose tracks should be listed."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "handle",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "SoundCloud handle whose tracks should be listed."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/soundcloud/tracks",
      "summary": "Get SoundCloud track",
      "tag": "SoundCloud",
      "operationId": "soundcloud.track.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/soundcloud/tracks/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/soundcloud/tracks/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/soundcloud/tracks/get.mdx",
      "sdkMethod": {
        "resource": "soundcloud",
        "methodName": "getTrack",
        "signature": "client.soundcloud.getTrack({ url })",
        "clientCall": "client.soundcloud.getTrack({ url: \"https://soundcloud.com/kehlanimusic/lights-on-feat-big-sean\" })"
      },
      "parameterNames": [
        "url"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the SoundCloud track."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Link to the SoundCloud track."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "not_found"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/web/search",
      "summary": "Search the web",
      "tag": "Web",
      "operationId": "web.search.run",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/web/search/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/web/search/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/web/search/get.mdx",
      "sdkMethod": {
        "resource": "web",
        "methodName": "search",
        "signature": "client.web.search({ query: \"Social media scraping API\", region: \"US\" })",
        "clientCall": "client.web.search({ query: \"Social media scraping API\", region: \"US\" })"
      },
      "parameterNames": [
        "query",
        "q",
        "region",
        "datePosted",
        "page"
      ],
      "parameters": [
        {
          "name": "query",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Search query text to run against the public web."
        },
        {
          "name": "q",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Silent alias for query when query is omitted."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "ISO 3166-1 country code for localized results (e.g. US, GB, CA)."
        },
        {
          "name": "datePosted",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "last-hour",
            "last-day",
            "last-week",
            "last-month",
            "last-year"
          ],
          "description": "Optional filter by when results were posted."
        },
        {
          "name": "page",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Page number (1-based). Default: 1."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "query",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Search query text to run against the public web."
        }
      ],
      "pagination": {
        "style": "page",
        "parameter": "page",
        "nextPagePath": "data.page.nextPage",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/web/markdown",
      "summary": "Generate web page markdown",
      "tag": "Web",
      "operationId": "web.markdown.generate",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/web/markdown/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/web/markdown/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/web/markdown/get.mdx",
      "sdkMethod": {
        "resource": "web",
        "methodName": "getMarkdown",
        "signature": "client.web.getMarkdown({ url: \"https://www.socialfetch.dev/\" })",
        "clientCall": "client.web.getMarkdown({ url: \"https://www.socialfetch.dev/\" })"
      },
      "parameterNames": [
        "url",
        "filter",
        "query",
        "cacheMode",
        "scanFullPage",
        "waitFor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Web page URL to fetch."
        },
        {
          "name": "filter",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "fit",
            "raw",
            "bm25"
          ],
          "description": "Markdown extraction filter. `fit`: strip boilerplate and extract the main readable content. `raw`: full unfiltered page markdown, no content pruning. `bm25`: rank and return only the content most relevant to `query`, using the BM25 keyword-relevance algorithm — requires `query` to be set."
        },
        {
          "name": "query",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional query string used by the bm25 filter to rank relevant content."
        },
        {
          "name": "cacheMode",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "enabled",
            "bypass",
            "write_only"
          ],
          "description": "Cache behavior. `enabled`: read from cache if present, else fetch and write to cache. `bypass`: always fetch fresh, ignoring and not updating the cache. `write_only`: always fetch fresh, but write the result to cache without reading from it first. Default: `enabled`."
        },
        {
          "name": "scanFullPage",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, scroll the page to load dynamically appended content (infinite scroll). Default false."
        },
        {
          "name": "waitFor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Wait for a CSS selector before extraction. Must be prefixed with \"css:\" (e.g. css:main). JavaScript wait conditions are not supported."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Web page URL to fetch."
        },
        {
          "name": "query",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional query string used by the bm25 filter to rank relevant content."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "restricted"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "`lookupStatus: restricted` means bot/access protection blocked the fetch; content fields are null."
      }
    },
    {
      "method": "GET",
      "path": "/v1/web/ask",
      "summary": "Ask a question about a web page",
      "tag": "Web",
      "operationId": "web.ask.run",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/web/ask/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/web/ask/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/web/ask/get.mdx",
      "sdkMethod": {
        "resource": "web",
        "methodName": "ask",
        "signature": "client.web.ask({ url: \"https://www.socialfetch.dev/\", q: \"What is this page about?\" })",
        "clientCall": "client.web.ask({ url: \"https://www.socialfetch.dev/\", q: \"What is this page about?\" })"
      },
      "parameterNames": [
        "url",
        "q"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Web page URL to fetch."
        },
        {
          "name": "q",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Natural-language question to answer about the page content."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Web page URL to fetch."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "restricted"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "`lookupStatus: restricted` means bot/access protection blocked the fetch; `answer` is null."
      }
    },
    {
      "method": "GET",
      "path": "/v1/web/html",
      "summary": "Generate web page HTML",
      "tag": "Web",
      "operationId": "web.html.generate",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per successful request.",
      "docsPathname": "/docs/api/v1/web/html/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/web/html/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/web/html/get.mdx",
      "sdkMethod": {
        "resource": "web",
        "methodName": "getHtml",
        "signature": "client.web.getHtml({ url: \"https://www.socialfetch.dev/\" })",
        "clientCall": "client.web.getHtml({ url: \"https://www.socialfetch.dev/\" })"
      },
      "parameterNames": [
        "url",
        "scanFullPage",
        "waitFor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Web page URL to fetch."
        },
        {
          "name": "scanFullPage",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, scroll the page to load dynamically appended content (infinite scroll). Default false."
        },
        {
          "name": "waitFor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Wait for a CSS selector before extraction. Must be prefixed with \"css:\" (e.g. css:main). JavaScript wait conditions are not supported."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Web page URL to fetch."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "restricted"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "`lookupStatus: restricted` means bot/access protection blocked the fetch; `html` is null."
      }
    },
    {
      "method": "GET",
      "path": "/v1/web/screenshot",
      "summary": "Capture website screenshot",
      "tag": "Web",
      "operationId": "web.screenshot.capture",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit (2 with region)",
      "docsPathname": "/docs/api/v1/web/screenshot/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/web/screenshot/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/web/screenshot/get.mdx",
      "sdkMethod": {
        "resource": "web",
        "methodName": "getScreenshot",
        "signature": "client.web.getScreenshot({ url: \"https://www.socialfetch.dev/\" })",
        "clientCall": "client.web.getScreenshot({ url: \"https://www.socialfetch.dev/\" })"
      },
      "parameterNames": [
        "url",
        "fullPage",
        "viewportWidth",
        "viewportHeight",
        "deviceScaleFactor",
        "selector",
        "format",
        "quality",
        "delay",
        "waitFor",
        "waitUntil",
        "blockCookieBanners",
        "blockAds",
        "darkMode",
        "region",
        "cacheMode",
        "cacheTtl",
        "response"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Web page URL to fetch."
        },
        {
          "name": "fullPage",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, capture the full scrollable page. Default: false (viewport)."
        },
        {
          "name": "viewportWidth",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Viewport width in CSS pixels. Default: 1280."
        },
        {
          "name": "viewportHeight",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Viewport height in CSS pixels. Default: 800."
        },
        {
          "name": "deviceScaleFactor",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Device scale factor (1–3). Default: 1."
        },
        {
          "name": "selector",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "CSS selector to clip the screenshot to a single element. Cannot be combined with fullPage."
        },
        {
          "name": "format",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "png",
            "jpeg",
            "webp"
          ],
          "description": "Output image format. Default: png."
        },
        {
          "name": "quality",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "JPEG/WebP quality 1–100. Invalid when format is png."
        },
        {
          "name": "delay",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Extra settle delay in milliseconds after load (0–10000)."
        },
        {
          "name": "waitFor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "CSS selector to wait for before capturing."
        },
        {
          "name": "waitUntil",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "load",
            "domcontentloaded",
            "networkidle"
          ],
          "description": "Navigation wait condition. `networkidle` is bounded and resolves on idle or a short cap, whichever comes first. Default: load."
        },
        {
          "name": "blockCookieBanners",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Dismiss/block cookie consent banners. Default: true."
        },
        {
          "name": "blockAds",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Block ads and trackers during render. Default: true."
        },
        {
          "name": "darkMode",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "Request prefers-color-scheme: dark. Default: false."
        },
        {
          "name": "region",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Optional ISO 3166-1 alpha-2 country for geo-located rendering (+1 credit)."
        },
        {
          "name": "cacheMode",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "enabled",
            "bypass",
            "write_only"
          ],
          "description": "Cache behavior. `enabled`: read from cache if present, else fetch and write to cache. `bypass`: always fetch fresh, ignoring and not updating the cache. `write_only`: always fetch fresh, but write the result to cache without reading from it first. Default: `enabled`."
        },
        {
          "name": "cacheTtl",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Optional Redis artifact-cache TTL in seconds (60–604800). Must stay strictly below the 7-day object lifetime."
        },
        {
          "name": "response",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "url",
            "base64"
          ],
          "description": "Delivery mode. `url` (default) returns a hosted CDN URL valid for 7 days. `base64` returns the image bytes inline when small enough."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "string",
          "description": "Web page URL to fetch."
        }
      ],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "restricted"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "`lookupStatus: restricted` means bot/access protection blocked the capture; an artifact may still be present."
      }
    },
    {
      "method": "GET",
      "path": "/v1/web/crawl",
      "summary": "Crawl web pages",
      "tag": "Web",
      "operationId": "web.crawl.run",
      "requiresApiKey": true,
      "creditsPricingSummary": "1 credit per URL requested. Up to 5 URLs per request (5 credits max).",
      "docsPathname": "/docs/api/v1/web/crawl/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/web/crawl/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/web/crawl/get.mdx",
      "sdkMethod": {
        "resource": "web",
        "methodName": "crawl",
        "signature": "client.web.crawl({ urls: [\"https://www.socialfetch.dev/\"] })",
        "clientCall": "client.web.crawl({ urls: [\"https://www.socialfetch.dev/\"] })"
      },
      "parameterNames": [
        "url",
        "scanFullPage",
        "waitFor"
      ],
      "parameters": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "array",
          "description": "URLs to crawl. Repeat the `url` query parameter for multiple pages (max 5)."
        },
        {
          "name": "scanFullPage",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, scroll the page to load dynamically appended content (infinite scroll). Default false."
        },
        {
          "name": "waitFor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Wait for a CSS selector before extraction. Must be prefixed with \"css:\" (e.g. css:main). JavaScript wait conditions are not supported."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "url",
          "location": "query",
          "required": true,
          "type": "array",
          "description": "URLs to crawl. Repeat the `url` query parameter for multiple pages (max 5)."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "POST",
      "path": "/v1/web/extract",
      "summary": "Extract structured data from a web page",
      "tag": "Web",
      "operationId": "web.extract.run",
      "requiresApiKey": true,
      "creditsPricingSummary": "2 credits per successful request.",
      "docsPathname": "/docs/api/v1/web/extract/post",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/web/extract/post",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/web/extract/post.mdx",
      "sdkMethod": {
        "resource": "web",
        "methodName": "extract",
        "signature": "client.web.extract({ url: \"https://example.com/products\", schema: { name: \"products\", baseSelector: \"div.product\", fields: [{ name: \"name\", selector: \"h2\", type: \"text\" }] } })",
        "clientCall": "client.web.extract({ url: \"https://example.com/products\", schema: { name: \"products\", baseSelector: \"div.product\", fields: [{ name: \"name\", selector: \"h2\", type: \"text\" }] } })"
      },
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "outcome": {
        "fieldPath": "data.lookupStatus",
        "values": [
          "found",
          "restricted"
        ]
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false,
      "agentHints": {
        "emptyResults": "`lookupStatus: restricted` means bot/access protection blocked the fetch; `extracted` is null."
      }
    },
    {
      "method": "GET",
      "path": "/v1/monitors/sources",
      "summary": "List watchable sources",
      "tag": "Monitors",
      "operationId": "monitors.sources.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/monitors/sources/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/sources/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/sources/get.mdx",
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "POST",
      "path": "/v1/monitors",
      "summary": "Create a monitor",
      "tag": "Monitors",
      "operationId": "monitors.create",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/monitors/post",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/post",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/post.mdx",
      "parameterNames": [
        "dryRun"
      ],
      "parameters": [
        {
          "name": "dryRun",
          "location": "query",
          "required": false,
          "type": "boolean",
          "description": "When true, validates the monitor and returns a cost preview without creating anything or running the baseline check."
        }
      ],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/monitors",
      "summary": "List monitors",
      "tag": "Monitors",
      "operationId": "monitors.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/monitors/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/get.mdx",
      "parameterNames": [
        "status"
      ],
      "parameters": [
        {
          "name": "status",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "active",
            "paused",
            "exhausted",
            "broken"
          ],
          "description": "Optional filter to only return monitors in this status."
        }
      ],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/monitors/{id}",
      "summary": "Get a monitor",
      "tag": "Monitors",
      "operationId": "monitors.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/monitors/id/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/get.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "PATCH",
      "path": "/v1/monitors/{id}",
      "summary": "Update a monitor",
      "tag": "Monitors",
      "operationId": "monitors.update",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/monitors/id/patch",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/patch",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/patch.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "DELETE",
      "path": "/v1/monitors/{id}",
      "summary": "Delete a monitor",
      "tag": "Monitors",
      "operationId": "monitors.delete",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/monitors/id/delete",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/delete",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/delete.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "POST",
      "path": "/v1/monitors/{id}/trigger",
      "summary": "Manually trigger a monitor poll",
      "tag": "Monitors",
      "operationId": "monitors.trigger",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/monitors/id/trigger/post",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/trigger/post",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/trigger/post.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/monitors/{id}/events",
      "summary": "List monitor events",
      "tag": "Monitors",
      "operationId": "monitors.events.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/monitors/id/events/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/events/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/events/get.mdx",
      "parameterNames": [
        "id",
        "cursor",
        "limit"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response's `data.page.nextCursor` (or legacy `data.nextCursor`)."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Maximum number of events to return. Defaults to 25 server-side."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/monitors/{id}/checks",
      "summary": "List a monitor's recent check history",
      "tag": "Monitors",
      "operationId": "monitors.checks.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/monitors/id/checks/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/checks/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/monitors/id/checks/get.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Monitor identifier."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "POST",
      "path": "/v1/webhook-endpoints",
      "summary": "Create a webhook endpoint",
      "tag": "Monitors",
      "operationId": "webhookEndpoints.create",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/webhook-endpoints/post",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/post",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/post.mdx",
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/webhook-endpoints",
      "summary": "List webhook endpoints",
      "tag": "Monitors",
      "operationId": "webhookEndpoints.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/webhook-endpoints/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/get.mdx",
      "parameterNames": [],
      "parameters": [],
      "acceptedIdentifiers": [],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/webhook-endpoints/{id}",
      "summary": "Get a webhook endpoint",
      "tag": "Monitors",
      "operationId": "webhookEndpoints.get",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/webhook-endpoints/id/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/get.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint identifier."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint identifier."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "PATCH",
      "path": "/v1/webhook-endpoints/{id}",
      "summary": "Update a webhook endpoint",
      "tag": "Monitors",
      "operationId": "webhookEndpoints.update",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/webhook-endpoints/id/patch",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/patch",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/patch.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint identifier."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint identifier."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "DELETE",
      "path": "/v1/webhook-endpoints/{id}",
      "summary": "Delete a webhook endpoint",
      "tag": "Monitors",
      "operationId": "webhookEndpoints.delete",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/webhook-endpoints/id/delete",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/delete",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/delete.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint identifier."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint identifier."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "POST",
      "path": "/v1/webhook-endpoints/{id}/test",
      "summary": "Send a test webhook event",
      "tag": "Monitors",
      "operationId": "webhookEndpoints.test",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/webhook-endpoints/id/test/post",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/test/post",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/test/post.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint id."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint id."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "POST",
      "path": "/v1/webhook-endpoints/{id}/rotate-secret",
      "summary": "Rotate a webhook endpoint secret",
      "tag": "Monitors",
      "operationId": "webhookEndpoints.rotateSecret",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/webhook-endpoints/id/rotate-secret/post",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/rotate-secret/post",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/rotate-secret/post.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint id."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint id."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "GET",
      "path": "/v1/webhook-endpoints/{id}/deliveries",
      "summary": "List deliveries for a webhook endpoint",
      "tag": "Monitors",
      "operationId": "webhookEndpoints.deliveries.list",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/webhook-endpoints/id/deliveries/get",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/deliveries/get",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-endpoints/id/deliveries/get.mdx",
      "parameterNames": [
        "id",
        "status",
        "limit",
        "cursor",
        "after"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint id."
        },
        {
          "name": "status",
          "location": "query",
          "required": false,
          "type": "string",
          "enumValues": [
            "pending",
            "success",
            "failed"
          ],
          "description": "Optional filter for delivery status."
        },
        {
          "name": "limit",
          "location": "query",
          "required": false,
          "type": "integer",
          "description": "Maximum deliveries to return (1–100). Default: 25."
        },
        {
          "name": "cursor",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "Opaque pagination cursor from a previous response's `data.page.nextCursor`. Prefer this over `after` for continuation."
        },
        {
          "name": "after",
          "location": "query",
          "required": false,
          "type": "string",
          "description": "ISO-8601 entry point for tail mode (oldest-first, strictly newer than this timestamp) — e.g. `socialfetch listen`. Use `cursor` to continue after the first page. When both `cursor` and `after` are set, `cursor` wins."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook endpoint id."
        }
      ],
      "pagination": {
        "style": "cursor",
        "parameter": "cursor",
        "nextCursorPath": "data.page.nextCursor",
        "hasMorePath": "data.page.hasMore"
      },
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    },
    {
      "method": "POST",
      "path": "/v1/webhook-deliveries/{id}/redeliver",
      "summary": "Manually redeliver a webhook delivery",
      "tag": "Monitors",
      "operationId": "webhookDeliveries.redeliver",
      "requiresApiKey": true,
      "creditsPricingSummary": "0 credits per successful request.",
      "docsPathname": "/docs/api/v1/webhook-deliveries/id/redeliver/post",
      "docsHtmlUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-deliveries/id/redeliver/post",
      "docsMarkdownUrl": "https://www.socialfetch.dev/docs/api/v1/webhook-deliveries/id/redeliver/post.mdx",
      "parameterNames": [
        "id"
      ],
      "parameters": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook delivery id to redeliver."
        }
      ],
      "acceptedIdentifiers": [
        {
          "name": "id",
          "location": "path",
          "required": true,
          "type": "string",
          "description": "Webhook delivery id to redeliver."
        }
      ],
      "sortByValues": [],
      "supportsTrim": false,
      "supportsMediaDownload": false
    }
  ]
}