{"openapi":"3.0.0","info":{"version":"2.0.0","title":"ToolzerHub API Docs","description":"Web data API for public social data, advertising intelligence, and stateless HTTP fetching.\n\nAuthenticate with an `x-api-key` header on every request. Requests are metered in credits; `GET /v1/credits` reports the balance and never costs one.","contact":{"name":"ToolzerHub Support","email":"contact@toolzerhub.com","url":"https://toolzerhub.com/contact"},"termsOfService":"https://toolzerhub.com/terms"},"servers":[{"url":"https://api.toolzerhub.com","description":"Production environment"}],"tags":[{"name":"Meta Ads","description":"Search Meta's Facebook and Instagram Ad Library by keyword or advertiser. Retrieve ad details, advertiser pages, filter options, and API parameters from public Ad Library URLs.","x-displayName":"Meta Ads"},{"name":"Facebook - Page","description":"Retrieve public Facebook Pages, posts, photos, videos, albums, and audience connections. Search Pages, people, places, posts, events, and videos, and browse Marketplace listings.","x-displayName":"Page"},{"name":"Facebook - Post","description":"Retrieve public Facebook Pages, posts, photos, videos, albums, and audience connections. Search Pages, people, places, posts, events, and videos, and browse Marketplace listings.","x-displayName":"Post"},{"name":"Facebook - Marketplace","description":"Retrieve public Facebook Pages, posts, photos, videos, albums, and audience connections. Search Pages, people, places, posts, events, and videos, and browse Marketplace listings.","x-displayName":"Marketplace"},{"name":"Facebook - Search","description":"Retrieve public Facebook Pages, posts, photos, videos, albums, and audience connections. Search Pages, people, places, posts, events, and videos, and browse Marketplace listings.","x-displayName":"Search"},{"name":"Instagram - User","description":"Retrieve public Instagram profiles, posts, reels, stories, highlights, comments, likes, locations, music, and hashtags. Search accounts and content or resolve usernames, media IDs, and shortcodes.","x-displayName":"User"},{"name":"Instagram - Post","description":"Retrieve public Instagram profiles, posts, reels, stories, highlights, comments, likes, locations, music, and hashtags. Search accounts and content or resolve usernames, media IDs, and shortcodes.","x-displayName":"Post"},{"name":"Instagram - Location","description":"Retrieve public Instagram profiles, posts, reels, stories, highlights, comments, likes, locations, music, and hashtags. Search accounts and content or resolve usernames, media IDs, and shortcodes.","x-displayName":"Location"},{"name":"Instagram - Search","description":"Retrieve public Instagram profiles, posts, reels, stories, highlights, comments, likes, locations, music, and hashtags. Search accounts and content or resolve usernames, media IDs, and shortcodes.","x-displayName":"Search"},{"name":"Instagram - Hashtag","description":"Retrieve public Instagram profiles, posts, reels, stories, highlights, comments, likes, locations, music, and hashtags. Search accounts and content or resolve usernames, media IDs, and shortcodes.","x-displayName":"Hashtag"},{"name":"Instagram - Music","description":"Retrieve public Instagram profiles, posts, reels, stories, highlights, comments, likes, locations, music, and hashtags. Search accounts and content or resolve usernames, media IDs, and shortcodes.","x-displayName":"Music"},{"name":"Instagram - Utility","description":"Retrieve public Instagram profiles, posts, reels, stories, highlights, comments, likes, locations, music, and hashtags. Search accounts and content or resolve usernames, media IDs, and shortcodes.","x-displayName":"Utility"},{"name":"LinkedIn","description":"Search public LinkedIn jobs, profiles, companies, posts, and ads. Build company research and prospecting workflows with employee, hiring, and email-pattern data.","x-displayName":"LinkedIn"},{"name":"TikTok Shop - Product","description":"Search TikTok Shop products and retrieve product details, reviews, seller catalogs, shop profiles, categories, and trending products.","x-displayName":"Product"},{"name":"TikTok Shop - Shop","description":"Search TikTok Shop products and retrieve product details, reviews, seller catalogs, shop profiles, categories, and trending products.","x-displayName":"Shop"},{"name":"TikTok Shop - Category","description":"Search TikTok Shop products and retrieve product details, reviews, seller catalogs, shop profiles, categories, and trending products.","x-displayName":"Category"},{"name":"TikTok Shop - Search","description":"Search TikTok Shop products and retrieve product details, reviews, seller catalogs, shop profiles, categories, and trending products.","x-displayName":"Search"},{"name":"TikTok Ads Library - URL Helper","description":"Search and inspect public TikTok advertising data — public ad search and reports plus Top Ads rankings, filters, analytics, recommendations, performance timelines, benchmarks, and Spotlight.","x-displayName":"URL Helper"},{"name":"TikTok Ads Library - Public Library","description":"Search and inspect public TikTok advertising data — public ad search and reports plus Top Ads rankings, filters, analytics, recommendations, performance timelines, benchmarks, and Spotlight.","x-displayName":"Public Library"},{"name":"TikTok Ads Library - Top Ads Dashboard","description":"Search and inspect public TikTok advertising data — public ad search and reports plus Top Ads rankings, filters, analytics, recommendations, performance timelines, benchmarks, and Spotlight.","x-displayName":"Top Ads Dashboard"},{"name":"TikTok Ads Library - Top Ads Analytics","description":"Search and inspect public TikTok advertising data — public ad search and reports plus Top Ads rankings, filters, analytics, recommendations, performance timelines, benchmarks, and Spotlight.","x-displayName":"Top Ads Analytics"},{"name":"TikTok Ads Library - Top Ads Spotlight","description":"Search and inspect public TikTok advertising data — public ad search and reports plus Top Ads rankings, filters, analytics, recommendations, performance timelines, benchmarks, and Spotlight.","x-displayName":"Top Ads Spotlight"},{"name":"HTTP","description":"Fetch public HTTP and HTTPS URLs with custom headers, query parameters, cookies, and POST bodies.","x-displayName":"HTTP"},{"name":"Web","description":"Read a business's own contact details off its own website. Public pages only, no accounts and no cookies, and every value comes back with the page URL it was read from.","x-displayName":"Web"},{"name":"Email","description":"Check email addresses in batches and classify each as verified, accept-all, or unverified. Results include a reason and the number of checks spent.","x-displayName":"Email"},{"name":"Media","description":"Transcribe an audio or video file with word timestamps, or split a video into scenes. Send one public media URL per request, up to 2 minutes and 100 MB.","x-displayName":"Media"},{"name":"AI","description":"Analyze a video ad from its transcript, scene list, and published copy. Use the Media and Ad Library APIs to prepare one creative per request.","x-displayName":"AI"},{"name":"Threads","description":"Fetch public Threads data — profiles, a profile's posts, individual posts by URL, and search.","x-displayName":"Threads"},{"name":"YouTube - Channel","description":"Fetch public YouTube data — channel details, videos, Shorts, community posts, playlists, and search, plus URL-resolution helpers.","x-displayName":"Channel"},{"name":"YouTube - Video","description":"Fetch public YouTube data — channel details, videos, Shorts, community posts, playlists, and search, plus URL-resolution helpers.","x-displayName":"Video"},{"name":"YouTube - Shorts","description":"Fetch public YouTube data — channel details, videos, Shorts, community posts, playlists, and search, plus URL-resolution helpers.","x-displayName":"Shorts"},{"name":"YouTube - Post","description":"Fetch public YouTube data — channel details, videos, Shorts, community posts, playlists, and search, plus URL-resolution helpers.","x-displayName":"Post"},{"name":"YouTube - Playlist","description":"Fetch public YouTube data — channel details, videos, Shorts, community posts, playlists, and search, plus URL-resolution helpers.","x-displayName":"Playlist"},{"name":"YouTube - Search","description":"Fetch public YouTube data — channel details, videos, Shorts, community posts, playlists, and search, plus URL-resolution helpers.","x-displayName":"Search"},{"name":"YouTube - URL Helper","description":"Fetch public YouTube data — channel details, videos, Shorts, community posts, playlists, and search, plus URL-resolution helpers.","x-displayName":"URL Helper"},{"name":"TikTok - User","description":"Search public TikTok content and retrieve profiles, videos, LIVE data, music, hashtags, and location results.","x-displayName":"User"},{"name":"TikTok - Video","description":"Search public TikTok content and retrieve profiles, videos, LIVE data, music, hashtags, and location results.","x-displayName":"Video"},{"name":"TikTok - Live","description":"Search public TikTok content and retrieve profiles, videos, LIVE data, music, hashtags, and location results.","x-displayName":"Live"},{"name":"TikTok - Music","description":"Search public TikTok content and retrieve profiles, videos, LIVE data, music, hashtags, and location results.","x-displayName":"Music"},{"name":"TikTok - Hashtag","description":"Search public TikTok content and retrieve profiles, videos, LIVE data, music, hashtags, and location results.","x-displayName":"Hashtag"},{"name":"TikTok - Search","description":"Search public TikTok content and retrieve profiles, videos, LIVE data, music, hashtags, and location results.","x-displayName":"Search"},{"name":"Reddit - Feed","description":"Fetch public Reddit data — home/popular/games/news feeds, posts, subreddits, search, and user data.","x-displayName":"Feed"},{"name":"Reddit - Post","description":"Fetch public Reddit data — home/popular/games/news feeds, posts, subreddits, search, and user data.","x-displayName":"Post"},{"name":"Reddit - Subreddit","description":"Fetch public Reddit data — home/popular/games/news feeds, posts, subreddits, search, and user data.","x-displayName":"Subreddit"},{"name":"Reddit - Search","description":"Fetch public Reddit data — home/popular/games/news feeds, posts, subreddits, search, and user data.","x-displayName":"Search"},{"name":"Reddit - User","description":"Fetch public Reddit data — home/popular/games/news feeds, posts, subreddits, search, and user data.","x-displayName":"User"},{"name":"RedNote - Posts","description":"Fetch public RedNote (Xiaohongshu) posts, profiles, topics, search, products, creator feeds, and web discovery data.","x-displayName":"Posts"},{"name":"RedNote - Profiles","description":"Fetch public RedNote (Xiaohongshu) posts, profiles, topics, search, products, creator feeds, and web discovery data.","x-displayName":"Profiles"},{"name":"RedNote - Search","description":"Fetch public RedNote (Xiaohongshu) posts, profiles, topics, search, products, creator feeds, and web discovery data.","x-displayName":"Search"},{"name":"RedNote - Topics","description":"Fetch public RedNote (Xiaohongshu) posts, profiles, topics, search, products, creator feeds, and web discovery data.","x-displayName":"Topics"},{"name":"RedNote - Products","description":"Fetch public RedNote (Xiaohongshu) posts, profiles, topics, search, products, creator feeds, and web discovery data.","x-displayName":"Products"},{"name":"RedNote - Creators","description":"Fetch public RedNote (Xiaohongshu) posts, profiles, topics, search, products, creator feeds, and web discovery data.","x-displayName":"Creators"},{"name":"RedNote - Feed","description":"Fetch public RedNote (Xiaohongshu) posts, profiles, topics, search, products, creator feeds, and web discovery data.","x-displayName":"Feed"},{"name":"Douyin - Profiles","description":"Access public Douyin profiles, videos, comments, sounds, hashtags, collections, short dramas, trends, recommendations, and live rooms. Search across videos, accounts, topics, music, and other content types.","x-displayName":"Profiles"},{"name":"Douyin - Videos","description":"Access public Douyin profiles, videos, comments, sounds, hashtags, collections, short dramas, trends, recommendations, and live rooms. Search across videos, accounts, topics, music, and other content types.","x-displayName":"Videos"},{"name":"Douyin - Music","description":"Access public Douyin profiles, videos, comments, sounds, hashtags, collections, short dramas, trends, recommendations, and live rooms. Search across videos, accounts, topics, music, and other content types.","x-displayName":"Music"},{"name":"Douyin - Hashtags","description":"Access public Douyin profiles, videos, comments, sounds, hashtags, collections, short dramas, trends, recommendations, and live rooms. Search across videos, accounts, topics, music, and other content types.","x-displayName":"Hashtags"},{"name":"Douyin - Collections","description":"Access public Douyin profiles, videos, comments, sounds, hashtags, collections, short dramas, trends, recommendations, and live rooms. Search across videos, accounts, topics, music, and other content types.","x-displayName":"Collections"},{"name":"Douyin - Search","description":"Access public Douyin profiles, videos, comments, sounds, hashtags, collections, short dramas, trends, recommendations, and live rooms. Search across videos, accounts, topics, music, and other content types.","x-displayName":"Search"},{"name":"Douyin - Trends","description":"Access public Douyin profiles, videos, comments, sounds, hashtags, collections, short dramas, trends, recommendations, and live rooms. Search across videos, accounts, topics, music, and other content types.","x-displayName":"Trends"},{"name":"Douyin - Billboard","description":"Access public Douyin profiles, videos, comments, sounds, hashtags, collections, short dramas, trends, recommendations, and live rooms. Search across videos, accounts, topics, music, and other content types.","x-displayName":"Billboard"},{"name":"Douyin - Feeds","description":"Access public Douyin profiles, videos, comments, sounds, hashtags, collections, short dramas, trends, recommendations, and live rooms. Search across videos, accounts, topics, music, and other content types.","x-displayName":"Feeds"},{"name":"Douyin - Live","description":"Access public Douyin profiles, videos, comments, sounds, hashtags, collections, short dramas, trends, recommendations, and live rooms. Search across videos, accounts, topics, music, and other content types.","x-displayName":"Live"},{"name":"Pinterest - Pins","description":"Fetch public, logged-out Pinterest data — pin detail (image/video/idea/shopping pins), keyword search, user profiles, and board pins.","x-displayName":"Pins"},{"name":"Pinterest - Search","description":"Fetch public, logged-out Pinterest data — pin detail (image/video/idea/shopping pins), keyword search, user profiles, and board pins.","x-displayName":"Search"},{"name":"Pinterest - Profiles","description":"Fetch public, logged-out Pinterest data — pin detail (image/video/idea/shopping pins), keyword search, user profiles, and board pins.","x-displayName":"Profiles"},{"name":"Pinterest - Boards","description":"Fetch public, logged-out Pinterest data — pin detail (image/video/idea/shopping pins), keyword search, user profiles, and board pins.","x-displayName":"Boards"},{"name":"Google Ads - Advertisers","description":"Search Google Ads Transparency Center advertisers and creatives. Retrieve advertiser disclosures, creative details and media, suggestions, and recent disapproved creatives.","x-displayName":"Advertisers"},{"name":"Google Ads - Creatives","description":"Search Google Ads Transparency Center advertisers and creatives. Retrieve advertiser disclosures, creative details and media, suggestions, and recent disapproved creatives.","x-displayName":"Creatives"},{"name":"Walmart - Product","description":"Fetch public Walmart.com data — keyword product search with server-side pagination, and product detail.","x-displayName":"Product"},{"name":"Walmart - Products","description":"Fetch public Walmart.com data — keyword product search with server-side pagination, and product detail.","x-displayName":"Products"},{"name":"Airbnb - Stay","description":"Search Airbnb stays and retrieve listing details, guest reviews, and availability calendars. Use the data in rental research and listing comparison tools.","x-displayName":"Stay"},{"name":"Airbnb - Stays","description":"Search Airbnb stays and retrieve listing details, guest reviews, and availability calendars. Use the data in rental research and listing comparison tools.","x-displayName":"Stays"},{"name":"eBay - Item","description":"Retrieve public eBay item details, category listings and trees, current deals, seller storefronts, and keyword suggestions.","x-displayName":"Item"},{"name":"eBay - Category","description":"Retrieve public eBay item details, category listings and trees, current deals, seller storefronts, and keyword suggestions.","x-displayName":"Category"},{"name":"eBay - Deals","description":"Retrieve public eBay item details, category listings and trees, current deals, seller storefronts, and keyword suggestions.","x-displayName":"Deals"},{"name":"eBay - Shop","description":"Retrieve public eBay item details, category listings and trees, current deals, seller storefronts, and keyword suggestions.","x-displayName":"Shop"},{"name":"eBay - Search","description":"Retrieve public eBay item details, category listings and trees, current deals, seller storefronts, and keyword suggestions.","x-displayName":"Search"},{"name":"Etsy","description":"Search public Etsy listings and page through products, shops, prices, ratings, and listing links.","x-displayName":"Etsy"},{"name":"Ozon - Products","description":"Search Ozon products, browse category listings, and get product details. Results include normalized prices, ratings, and review counts.","x-displayName":"Products"},{"name":"Jobs","description":"Search current job postings across major boards and company career pages. Retrieve full postings and estimate pay by role, location, or employer.","x-displayName":"Jobs"},{"name":"Wellfound - Jobs","description":"Fetch public data from Wellfound (formerly AngelList Talent): job search by role and/or location, single job postings, and the startup directory. Result sets have a per-query ceiling — past it, Wellfound re-serves page 1 under a 200 instead of erroring. `ended_at_source_limit` flags this so a truncated result is not read as a complete one.","x-displayName":"Jobs"},{"name":"Wellfound - Startups","description":"Fetch public data from Wellfound (formerly AngelList Talent): job search by role and/or location, single job postings, and the startup directory. Result sets have a per-query ceiling — past it, Wellfound re-serves page 1 under a 200 instead of erroring. `ended_at_source_limit` flags this so a truncated result is not read as a complete one.","x-displayName":"Startups"},{"name":"Wellfound - Companies","description":"Fetch public data from Wellfound (formerly AngelList Talent): job search by role and/or location, single job postings, and the startup directory. Result sets have a per-query ceiling — past it, Wellfound re-serves page 1 under a 200 instead of erroring. `ended_at_source_limit` flags this so a truncated result is not read as a complete one.","x-displayName":"Companies"},{"name":"Clutch - Directory","description":"Browse ranked Clutch agency directories, retrieve agency profiles, and enumerate profile and directory sitemaps. Listings include ratings, contact details, company-size bands, and percentage service mix.","x-displayName":"Directory"},{"name":"Clutch - Profiles","description":"Browse ranked Clutch agency directories, retrieve agency profiles, and enumerate profile and directory sitemaps. Listings include ratings, contact details, company-size bands, and percentage service mix.","x-displayName":"Profiles"},{"name":"Clutch - Enumeration","description":"Browse ranked Clutch agency directories, retrieve agency profiles, and enumerate profile and directory sitemaps. Listings include ratings, contact details, company-size bands, and percentage service mix.","x-displayName":"Enumeration"},{"name":"Indeed - Jobs","description":"Search public Indeed jobs and retrieve individual postings, company profiles, workplace survey results, and salary aggregates. Job search returns one page for each combination of query, location, and filters.","x-displayName":"Jobs"},{"name":"Indeed - Companies","description":"Search public Indeed jobs and retrieve individual postings, company profiles, workplace survey results, and salary aggregates. Job search returns one page for each combination of query, location, and filters.","x-displayName":"Companies"},{"name":"Indeed - Salaries","description":"Search public Indeed jobs and retrieve individual postings, company profiles, workplace survey results, and salary aggregates. Job search returns one page for each combination of query, location, and filters.","x-displayName":"Salaries"},{"name":"Dice - Search","description":"Search technology jobs by keyword and location, then retrieve a full posting with the job ID from a search result.","x-displayName":"Search"},{"name":"Dice - Job","description":"Search technology jobs by keyword and location, then retrieve a full posting with the job ID from a search result.","x-displayName":"Job"},{"name":"Seek - Search","description":"Job search: a page of listings for a query, one posting's full detail by id, and one employer's profile by slug.","x-displayName":"Search"},{"name":"Seek - Job","description":"Job search: a page of listings for a query, one posting's full detail by id, and one employer's profile by slug.","x-displayName":"Job"},{"name":"Seek - Company","description":"Job search: a page of listings for a query, one posting's full detail by id, and one employer's profile by slug.","x-displayName":"Company"},{"name":"ZipRecruiter - Search","description":"Browse ZipRecruiter job listings by location and list an employer's open roles in a city and state.","x-displayName":"Search"},{"name":"ZipRecruiter - Company","description":"Browse ZipRecruiter job listings by location and list an employer's open roles in a city and state.","x-displayName":"Company"},{"name":"Glassdoor - Jobs","description":"Search Glassdoor jobs and salary benchmarks, and retrieve employer overviews and reviews. Job results include listed pay, while employer reviews include ratings across ten workplace dimensions.","x-displayName":"Jobs"},{"name":"Glassdoor - Employers","description":"Search Glassdoor jobs and salary benchmarks, and retrieve employer overviews and reviews. Job results include listed pay, while employer reviews include ratings across ten workplace dimensions.","x-displayName":"Employers"},{"name":"Glassdoor - Salaries","description":"Search Glassdoor jobs and salary benchmarks, and retrieve employer overviews and reviews. Job results include listed pay, while employer reviews include ratings across ten workplace dimensions.","x-displayName":"Salaries"},{"name":"Yelp - Businesses","description":"Fetch public Yelp data: business profiles and business search. Yelp quirks: review text is unavailable on both endpoints; profile review counts are abbreviated strings (e.g. \"9.2k\"); search returns full business data only for ads, organic rows carry just an id and alias. First request after idle warms up (up to ~70s); later calls are fast.","x-displayName":"Businesses"},{"name":"Yelp - Search","description":"Fetch public Yelp data: business profiles and business search. Yelp quirks: review text is unavailable on both endpoints; profile review counts are abbreviated strings (e.g. \"9.2k\"); search returns full business data only for ads, organic rows carry just an id and alias. First request after idle warms up (up to ~70s); later calls are fast.","x-displayName":"Search"},{"name":"TripAdvisor - Listings","description":"Fetch a city's hotels, restaurants or attractions, 30 per page, with rating, review count, address, coordinates, phone and price band, plus a per-property detail lookup keyed on the ids and slug a list row already carries.","x-displayName":"Listings"},{"name":"TripAdvisor - Detail","description":"Fetch a city's hotels, restaurants or attractions, 30 per page, with rating, review count, address, coordinates, phone and price band, plus a per-property detail lookup keyed on the ids and slug a list row already carries.","x-displayName":"Detail"},{"name":"Booking - Properties","description":"Search Booking.com properties and retrieve addresses, coordinates, ratings, guest reviews, availability, and stay prices. Use the data in accommodation research and comparison tools.","x-displayName":"Properties"},{"name":"Booking - Search","description":"Search Booking.com properties and retrieve addresses, coordinates, ratings, guest reviews, availability, and stay prices. Use the data in accommodation research and comparison tools.","x-displayName":"Search"},{"name":"BuiltWith","description":"Inspect a domain's current and historical technology detections, first and last seen dates, categories, and estimated monthly technology spend. Hidden detection names are marked as `redacted`.","x-displayName":"BuiltWith"},{"name":"Trustpilot - Companies","description":"Public Trustpilot data: a company's record and reviews, category directories, free-text search, and the full company index. `/search`, `/category` and `/domains` return `identifying_name` — the exact key `/company` takes as `domain`. Keys are usually a hostname including `www.`, and about 0.25% carry a path for a distinct company.","x-displayName":"Companies"},{"name":"Trustpilot - Discovery","description":"Public Trustpilot data: a company's record and reviews, category directories, free-text search, and the full company index. `/search`, `/category` and `/domains` return `identifying_name` — the exact key `/company` takes as `domain`. Keys are usually a hostname including `www.`, and about 0.25% carry a path for a distinct company.","x-displayName":"Discovery"},{"name":"Similarweb","description":"Public website intelligence from Similarweb: monthly traffic, engagement, global/country/category ranks, traffic sources, audience geography and demographics, competitors, search and referral signals, plus the current global top-50 websites.","x-displayName":"Similarweb"},{"name":"Semrush","description":"Fetch public Semrush data: a domain's traffic, ranks, engagement, organic and paid search, top keywords, backlinks, country split, referrers and per-assistant AI referral traffic — plus its competitors with the same metric set, and the top 100 websites for any of 240 countries across 111 industries.\n\n**These are monthly estimates, not live counters.** Every response carries the month it describes as `as_of`; two calls a week apart return the same figures.\n\n**`null` means Semrush states no figure, and it is never rendered as zero.** Semrush genuinely has no current traffic estimate for some domains — openai.com and doordash.com among them — and each response names the affected sections in `unavailable_panels`. That is a gap in Semrush's index, not a gate: it is identical on every request for the same domain.\n\n**There is no page 2 on `/trending`.** `page`, `p`, `offset` and `limit` were each tried and each returned the same 100 domains in the same order, so the ranking is a fixed top 100. The full list of valid countries and industries rides in every response.","x-displayName":"Semrush"},{"name":"G2","description":"Browse ranked G2 software categories and retrieve product reviews with reviewer roles, company sizes, ratings, and structured feedback. Category rows provide the slug required by the reviews endpoint.","x-displayName":"G2"},{"name":"Capterra","description":"Browse ranked software categories and retrieve Capterra product profiles and reviews. Category rows provide the product ID and case-sensitive slug required by the profile and review endpoints.","x-displayName":"Capterra"},{"name":"Skyscanner","description":"Fetch public Skyscanner flight data: the cheapest quoted fares for a city pair or into a destination, with each quote's airports, dates, carrier and age, plus twelve months of cheapest-by-month fares, the airports serving the destination, the airlines flying the route and Skyscanner's own route facts.\n\nThese are cached quotes, not a live search. Every leg states its own `quoted_at`, which is how you tell how stale one is.\n\nThere is no place lookup: Skyscanner's place-search endpoint is disallowed by its robots.txt, so a place name cannot be resolved here. Every response instead publishes `sky_code` on every place it names, and those codes feed straight back into these same endpoints — walk from a destination to its nearby airports to a specific pair without ever constructing a URL.\n\nPrices are in GBP unless the response says otherwise: `skyscanner.net` is the UK storefront and serves GBP regardless of where the request comes from, so every response states its own `currency`.","x-displayName":"Skyscanner"},{"name":"2GIS","description":"Search businesses across supported 2GIS cities, then retrieve organisation details and reviews.","x-displayName":"2GIS"},{"name":"Avito","description":"Browse public Avito listings by city and category, including price, address, coordinates, photos, seller, and rating. Use the returned sort options and pagination fields to walk a category.","x-displayName":"Avito"},{"name":"Telegram","description":"Get public Telegram channel details and posts by username. Private, missing, or preview-disabled channels return `data: null`; use `next_before` or `next_after` to paginate posts.","x-displayName":"Telegram"},{"name":"Zillow - Properties","description":"Search Zillow properties and get listing details, price and tax history, schools, comparable homes, demand signals, and listing-agent contact information.","x-displayName":"Properties"},{"name":"Zillow - Discovery","description":"Search Zillow properties and get listing details, price and tax history, schools, comparable homes, demand signals, and listing-agent contact information.","x-displayName":"Discovery"},{"name":"Redfin","description":"Search up to 1000 Redfin listings in a region and get property details, including schools, risks, parcel records, and comparable sales. Search results provide the URL used by the property endpoint.","x-displayName":"Redfin"},{"name":"Yandex","description":"Search the web and Yandex Maps, get place details, and list place reviews. Map search results provide the IDs and URLs used by the place and review endpoints.","x-displayName":"Yandex"},{"name":"Google Maps","description":"Search Google Maps businesses and retrieve place details and reviews. Use the stable `cid` to join results across endpoints and deduplicate overlapping search pages.","x-displayName":"Google Maps"},{"name":"App Store","description":"Public App Store app detail, search, developer inventory, recent reviews, and verified US top-free chart data.","x-displayName":"App Store"},{"name":"Google Play","description":"Fetch public Google Play app details, search results, developer apps, and reviews.","x-displayName":"Google Play"},{"name":"X (Twitter) - User","description":"Get public X (Twitter) profiles, posts, timelines, followers, search results, replies and threads, articles, lists, communities, Spaces, and trends. Use response `cursor` and `has_more` to paginate lists. `/user`, `/tweets` and `/tweet` are deprecated in favor of `/profile`, `/profile/posts` and `/post`.","x-displayName":"User"},{"name":"X (Twitter) - Post","description":"Get public X (Twitter) profiles, posts, timelines, followers, search results, replies and threads, articles, lists, communities, Spaces, and trends. Use response `cursor` and `has_more` to paginate lists. `/user`, `/tweets` and `/tweet` are deprecated in favor of `/profile`, `/profile/posts` and `/post`.","x-displayName":"Post"},{"name":"X (Twitter) - Search","description":"Get public X (Twitter) profiles, posts, timelines, followers, search results, replies and threads, articles, lists, communities, Spaces, and trends. Use response `cursor` and `has_more` to paginate lists. `/user`, `/tweets` and `/tweet` are deprecated in favor of `/profile`, `/profile/posts` and `/post`.","x-displayName":"Search"},{"name":"X (Twitter) - List","description":"Get public X (Twitter) profiles, posts, timelines, followers, search results, replies and threads, articles, lists, communities, Spaces, and trends. Use response `cursor` and `has_more` to paginate lists. `/user`, `/tweets` and `/tweet` are deprecated in favor of `/profile`, `/profile/posts` and `/post`.","x-displayName":"List"},{"name":"X (Twitter) - Community","description":"Get public X (Twitter) profiles, posts, timelines, followers, search results, replies and threads, articles, lists, communities, Spaces, and trends. Use response `cursor` and `has_more` to paginate lists. `/user`, `/tweets` and `/tweet` are deprecated in favor of `/profile`, `/profile/posts` and `/post`.","x-displayName":"Community"},{"name":"X (Twitter) - Trends","description":"Get public X (Twitter) profiles, posts, timelines, followers, search results, replies and threads, articles, lists, communities, Spaces, and trends. Use response `cursor` and `has_more` to paginate lists. `/user`, `/tweets` and `/tweet` are deprecated in favor of `/profile`, `/profile/posts` and `/post`.","x-displayName":"Trends"},{"name":"X (Twitter) - Space","description":"Get public X (Twitter) profiles, posts, timelines, followers, search results, replies and threads, articles, lists, communities, Spaces, and trends. Use response `cursor` and `has_more` to paginate lists. `/user`, `/tweets` and `/tweet` are deprecated in favor of `/profile`, `/profile/posts` and `/post`.","x-displayName":"Space"},{"name":"Weibo - Profiles","description":"Fetch public Weibo data — profiles with their followers and following, profile posts, individual posts, videos, keyword search, and the hot-search board.","x-displayName":"Profiles"},{"name":"Weibo - Posts","description":"Fetch public Weibo data — profiles with their followers and following, profile posts, individual posts, videos, keyword search, and the hot-search board.","x-displayName":"Posts"},{"name":"Weibo - Search","description":"Fetch public Weibo data — profiles with their followers and following, profile posts, individual posts, videos, keyword search, and the hot-search board.","x-displayName":"Search"},{"name":"Weibo - Trends","description":"Fetch public Weibo data — profiles with their followers and following, profile posts, individual posts, videos, keyword search, and the hot-search board.","x-displayName":"Trends"},{"name":"Weibo - Videos","description":"Fetch public Weibo data — profiles with their followers and following, profile posts, individual posts, videos, keyword search, and the hot-search board.","x-displayName":"Videos"},{"name":"Linktree","description":"Resolve a public Linktree page to its profile details and outbound links.","x-displayName":"Linktree"},{"name":"Ad Library","description":"Search public ads from Meta, Google, TikTok, and LinkedIn in one request. Compare creative, advertiser, delivery, impression, spend, and reach data in a shared result shape.","x-displayName":"Ad Library"},{"name":"Reviews","description":"Analyze a review set for posting bursts, rating patterns, repeated text, and reviewer-account signals. Review data from supported platform endpoints can be submitted directly.","x-displayName":"Reviews"},{"name":"Platform","description":"Get your workspace identity, credit balance, and API usage with the same API key used for data endpoints.","x-displayName":"Platform"}],"security":[{"ApiKeyAuth":[]}],"x-tagGroups":[{"name":"Meta Ads","tags":["Meta Ads"]},{"name":"Facebook","tags":["Facebook - Page","Facebook - Post","Facebook - Marketplace","Facebook - Search"]},{"name":"Instagram","tags":["Instagram - User","Instagram - Post","Instagram - Location","Instagram - Search","Instagram - Hashtag","Instagram - Music","Instagram - Utility"]},{"name":"LinkedIn","tags":["LinkedIn"]},{"name":"TikTok Shop","tags":["TikTok Shop - Product","TikTok Shop - Shop","TikTok Shop - Category","TikTok Shop - Search"]},{"name":"TikTok Ads Library","tags":["TikTok Ads Library - URL Helper","TikTok Ads Library - Public Library","TikTok Ads Library - Top Ads Dashboard","TikTok Ads Library - Top Ads Analytics","TikTok Ads Library - Top Ads Spotlight"]},{"name":"HTTP","tags":["HTTP"]},{"name":"Web","tags":["Web"]},{"name":"Email","tags":["Email"]},{"name":"Media","tags":["Media"]},{"name":"AI","tags":["AI"]},{"name":"Threads","tags":["Threads"]},{"name":"YouTube","tags":["YouTube - Channel","YouTube - Video","YouTube - Shorts","YouTube - Post","YouTube - Playlist","YouTube - Search","YouTube - URL Helper"]},{"name":"TikTok","tags":["TikTok - User","TikTok - Video","TikTok - Live","TikTok - Music","TikTok - Hashtag","TikTok - Search"]},{"name":"Reddit","tags":["Reddit - Feed","Reddit - Post","Reddit - Subreddit","Reddit - Search","Reddit - User"]},{"name":"RedNote","tags":["RedNote - Posts","RedNote - Profiles","RedNote - Search","RedNote - Topics","RedNote - Products","RedNote - Creators","RedNote - Feed"]},{"name":"Douyin","tags":["Douyin - Profiles","Douyin - Videos","Douyin - Music","Douyin - Hashtags","Douyin - Collections","Douyin - Search","Douyin - Trends","Douyin - Billboard","Douyin - Feeds","Douyin - Live"]},{"name":"Pinterest","tags":["Pinterest - Pins","Pinterest - Search","Pinterest - Profiles","Pinterest - Boards"]},{"name":"Google Ads","tags":["Google Ads - Advertisers","Google Ads - Creatives"]},{"name":"Walmart","tags":["Walmart - Product","Walmart - Products"]},{"name":"Airbnb","tags":["Airbnb - Stay","Airbnb - Stays"]},{"name":"eBay","tags":["eBay - Item","eBay - Category","eBay - Deals","eBay - Shop","eBay - Search"]},{"name":"Etsy","tags":["Etsy"]},{"name":"Ozon","tags":["Ozon - Products"]},{"name":"Jobs","tags":["Jobs"]},{"name":"Wellfound","tags":["Wellfound - Jobs","Wellfound - Startups","Wellfound - Companies"]},{"name":"Clutch","tags":["Clutch - Directory","Clutch - Profiles","Clutch - Enumeration"]},{"name":"Indeed","tags":["Indeed - Jobs","Indeed - Companies","Indeed - Salaries"]},{"name":"Dice","tags":["Dice - Search","Dice - Job"]},{"name":"Seek","tags":["Seek - Search","Seek - Job","Seek - Company"]},{"name":"ZipRecruiter","tags":["ZipRecruiter - Search","ZipRecruiter - Company"]},{"name":"Glassdoor","tags":["Glassdoor - Jobs","Glassdoor - Employers","Glassdoor - Salaries"]},{"name":"Yelp","tags":["Yelp - Businesses","Yelp - Search"]},{"name":"TripAdvisor","tags":["TripAdvisor - Listings","TripAdvisor - Detail"]},{"name":"Booking","tags":["Booking - Properties","Booking - Search"]},{"name":"BuiltWith","tags":["BuiltWith"]},{"name":"Trustpilot","tags":["Trustpilot - Companies","Trustpilot - Discovery"]},{"name":"Similarweb","tags":["Similarweb"]},{"name":"Semrush","tags":["Semrush"]},{"name":"G2","tags":["G2"]},{"name":"Capterra","tags":["Capterra"]},{"name":"Skyscanner","tags":["Skyscanner"]},{"name":"2GIS","tags":["2GIS"]},{"name":"Avito","tags":["Avito"]},{"name":"Telegram","tags":["Telegram"]},{"name":"Zillow","tags":["Zillow - Properties","Zillow - Discovery"]},{"name":"Redfin","tags":["Redfin"]},{"name":"Yandex","tags":["Yandex"]},{"name":"Google Maps","tags":["Google Maps"]},{"name":"App Store","tags":["App Store"]},{"name":"Google Play","tags":["Google Play"]},{"name":"X (Twitter)","tags":["X (Twitter) - User","X (Twitter) - Post","X (Twitter) - Search","X (Twitter) - List","X (Twitter) - Community","X (Twitter) - Trends","X (Twitter) - Space"]},{"name":"Weibo","tags":["Weibo - Profiles","Weibo - Posts","Weibo - Search","Weibo - Trends","Weibo - Videos"]},{"name":"Linktree","tags":["Linktree"]},{"name":"Ad Library","tags":["Ad Library"]},{"name":"Reviews","tags":["Reviews"]},{"name":"Platform","tags":["Platform"]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"Error400":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","UNAUTHORIZED","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","RATE_LIMITED","SITE_UNAVAILABLE","SITE_ERROR","INTERNAL_ERROR"],"example":"INVALID_REQUEST"},"status":{"type":"number","example":400},"message":{"type":"string","example":"Bad request"},"retryable":{"type":"boolean","example":false},"details":{"$ref":"#/components/schemas/ErrorDetails"}},"required":["code","status","message","retryable","details"]}},"required":["error"]},"ErrorDetails":{"type":"object","nullable":true,"properties":{"reason":{"$ref":"#/components/schemas/ErrorReason"},"retryAfter":{"type":"number","description":"Seconds to wait before retrying."},"worker":{"$ref":"#/components/schemas/ErrorWorkerDetail"}},"additionalProperties":{"nullable":true},"description":"Additional error information. Use `code` for error handling; `reason` identifies the cause and may gain new values.","example":{"reason":"blocked_by_site","retryAfter":60}},"ErrorReason":{"type":"string","enum":["analysis_failed","analysis_unavailable","api_capacity_limit","blocked_by_site","capacity_exhausted","capacity_limited","captcha_required","cold_blocked","cursor_invalid","daily_request_limit","free_access_cooldown","free_access_daily_budget","free_access_limit","free_actor_daily_budget","free_daily_ceiling","free_user_daily_limit","free_user_rate_limit","invalid_parameter","login_required","marketplace_unavailable","media_processing_failed","media_too_large","media_unreadable","mint_capture_miss","mint_challenge_unsolved","mint_exit_mismatch","mint_incomplete","mint_transport","mint_unvalidated","operator_action_required","parser_contract_broken","record_not_found","region_not_supported","route_not_found","session_failed","site_auth_required","site_refused","site_rejected","site_throttled","site_timeout","site_unreachable","under_maintenance","unsupported_operation","user_rate_ceiling","worker_fault","workspace_daily_limit","workspace_rate_limit"],"example":"blocked_by_site"},"ErrorWorkerDetail":{"type":"object","properties":{"site":{"type":"string"},"route":{"type":"string"},"operation":{"type":"string"},"status":{"type":"number","description":"The status the source itself answered with."},"attempt":{"type":"number"},"retried":{"type":"boolean"}},"description":"Additional request diagnostics, including the source status and retry attempts when available.","example":{"site":"tripadvisor","route":"tripadvisor.detail","status":403}},"Error401":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","UNAUTHORIZED","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","RATE_LIMITED","SITE_UNAVAILABLE","SITE_ERROR","INTERNAL_ERROR"],"example":"UNAUTHORIZED"},"status":{"type":"number","example":401},"message":{"type":"string","example":"Missing or invalid API key"},"retryable":{"type":"boolean","example":false},"details":{"$ref":"#/components/schemas/ErrorDetails"}},"required":["code","status","message","retryable","details"]}},"required":["error"]},"Error429":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","UNAUTHORIZED","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","RATE_LIMITED","SITE_UNAVAILABLE","SITE_ERROR","INTERNAL_ERROR"],"example":"RATE_LIMITED"},"status":{"type":"number","example":429},"message":{"type":"string","example":"Rate limit exceeded"},"retryable":{"type":"boolean","example":true},"details":{"$ref":"#/components/schemas/ErrorDetails"}},"required":["code","status","message","retryable","details"]}},"required":["error"]},"Error500":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","UNAUTHORIZED","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","RATE_LIMITED","SITE_UNAVAILABLE","SITE_ERROR","INTERNAL_ERROR"],"example":"SITE_ERROR"},"status":{"type":"number","example":500},"message":{"type":"string","example":"We could not complete this request against the site"},"retryable":{"type":"boolean","example":false},"details":{"$ref":"#/components/schemas/ErrorDetails"}},"required":["code","status","message","retryable","details"]}},"required":["error"]},"Error503":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","UNAUTHORIZED","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","RATE_LIMITED","SITE_UNAVAILABLE","SITE_ERROR","INTERNAL_ERROR"],"example":"SITE_UNAVAILABLE"},"status":{"type":"number","example":503},"message":{"type":"string","example":"This site is temporarily unavailable"},"retryable":{"type":"boolean","example":true},"details":{"$ref":"#/components/schemas/ErrorDetails"}},"required":["code","status","message","retryable","details"]}},"required":["error"]},"Error402":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","UNAUTHORIZED","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","RATE_LIMITED","SITE_UNAVAILABLE","SITE_ERROR","INTERNAL_ERROR"],"example":"PAYMENT_REQUIRED"},"status":{"type":"number","example":402},"message":{"type":"string","example":"Not enough credits to cover this request"},"retryable":{"type":"boolean","example":false},"details":{"$ref":"#/components/schemas/ErrorDetails"}},"required":["code","status","message","retryable","details"]}},"required":["error"]},"Error422":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","UNAUTHORIZED","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","RATE_LIMITED","SITE_UNAVAILABLE","SITE_ERROR","INTERNAL_ERROR"],"example":"INVALID_REQUEST"},"status":{"type":"number","example":422},"message":{"type":"string","example":"The request is valid but cannot be served for this input"},"retryable":{"type":"boolean","example":false},"details":{"$ref":"#/components/schemas/ErrorDetails"}},"required":["code","status","message","retryable","details"]}},"required":["error"]},"FacebookPage":{"type":"object","nullable":true,"properties":{"pageId":{"type":"string","nullable":true},"posts":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["pageId","posts","pageInfo"]},"FacebookPageInfo":{"type":"object","properties":{"cursor":{"type":"string","nullable":true},"hasNextPage":{"type":"boolean"}},"required":["cursor","hasNextPage"]},"FacebookAbout":{"type":"object","nullable":true,"properties":{"sections":{"type":"array","items":{"type":"object","properties":{"sectionType":{"type":"string","nullable":true},"fields":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}}},"required":["sectionType","fields"]}}},"required":["sections"]},"FacebookReviews":{"type":"object","nullable":true,"properties":{"reviews":{"type":"array","items":{"$ref":"#/components/schemas/FacebookReview"}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"},"nodeId":{"type":"string","nullable":true}},"required":["reviews","pageInfo","nodeId"]},"FacebookReview":{"type":"object","properties":{"reviewId":{"type":"string"},"url":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"recommends":{"type":"boolean","nullable":true},"createdTime":{"type":"number","nullable":true},"author":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"profilePictureUrl":{"type":"string","nullable":true}},"required":["id","name","url","profilePictureUrl"]},"reactionCount":{"type":"number","nullable":true},"commentCount":{"type":"number","nullable":true},"shareCount":{"type":"number","nullable":true}},"required":["reviewId","url","text","recommends","createdTime","author","reactionCount","commentCount","shareCount"]},"FacebookPosts":{"type":"object","nullable":true,"properties":{"posts":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"},"nodeId":{"type":"string"}},"required":["posts","pageInfo"]},"Error404":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","UNAUTHORIZED","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","RATE_LIMITED","SITE_UNAVAILABLE","SITE_ERROR","INTERNAL_ERROR"],"example":"NOT_FOUND"},"status":{"type":"number","example":404},"message":{"type":"string","example":"Resource not found"},"retryable":{"type":"boolean","example":false},"details":{"$ref":"#/components/schemas/ErrorDetails"}},"required":["code","status","message","retryable","details"]}},"required":["error"]},"FacebookCollection":{"type":"object","nullable":true,"properties":{"collectionId":{"type":"string","nullable":true},"totalCount":{"type":"number","nullable":true},"items":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["collectionId","totalCount","items","pageInfo"]},"FacebookVideos":{"type":"object","nullable":true,"properties":{"videos":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"},"pageTypedId":{"type":"string"}},"required":["videos","pageInfo"]},"FacebookAlbums":{"type":"object","nullable":true,"properties":{"albums":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"},"collectionId":{"type":"string"}},"required":["albums","pageInfo"]},"FacebookPost":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["comments","pageInfo"]},"FacebookComments":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","items":{"$ref":"#/components/schemas/FacebookComment"}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"},"feedbackId":{"type":"string","nullable":true}},"required":["comments","pageInfo","feedbackId"]},"FacebookComment":{"type":"object","properties":{"commentId":{"type":"string"},"feedbackId":{"type":"string","nullable":true},"expansionToken":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"createdTime":{"type":"number","nullable":true},"depth":{"type":"number","nullable":true},"author":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"profilePictureUrl":{"type":"string","nullable":true}},"required":["id","name","url","profilePictureUrl"]},"reactionCount":{"type":"number","nullable":true},"replyCount":{"type":"number","nullable":true}},"required":["commentId","feedbackId","expansionToken","url","text","createdTime","depth","author","reactionCount","replyCount"]},"FacebookReplies":{"type":"object","nullable":true,"properties":{"replies":{"type":"array","items":{"$ref":"#/components/schemas/FacebookComment"}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["replies","pageInfo"]},"FacebookMarketplace":{"type":"object","nullable":true,"properties":{"listings":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}}},"required":["listings"]},"FacebookMarketplaceItem":{"type":"object","nullable":true,"properties":{"listing":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"related":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}}},"required":["listing","related"]},"FacebookVideoSearch":{"type":"object","nullable":true,"properties":{"videos":{"type":"array","items":{"$ref":"#/components/schemas/FacebookVideoSearchResult"}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["videos","pageInfo"]},"FacebookVideoSearchResult":{"type":"object","properties":{"videoId":{"type":"string"},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"publishedText":{"type":"string","nullable":true},"durationText":{"type":"string","nullable":true},"thumbnailUrl":{"type":"string","nullable":true},"isLive":{"type":"boolean"},"owner":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"isVerified":{"type":"boolean"}},"required":["id","name","url","isVerified"]}},"required":["videoId","title","description","url","publishedText","durationText","thumbnailUrl","isLive","owner"]},"FacebookPageSearch":{"type":"object","nullable":true,"properties":{"pages":{"type":"array","items":{"$ref":"#/components/schemas/FacebookProfileSearchResult"}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["pages","pageInfo"]},"FacebookProfileSearchResult":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"profilePictureUrl":{"type":"string","nullable":true},"isVerified":{"type":"boolean"},"primaryText":{"type":"string","nullable":true},"description":{"type":"string","nullable":true}},"required":["id","name","url","profilePictureUrl","isVerified","primaryText","description"]},"FacebookPeopleSearch":{"type":"object","nullable":true,"properties":{"people":{"type":"array","items":{"$ref":"#/components/schemas/FacebookProfileSearchResult"}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["people","pageInfo"]},"FacebookPlaceSearch":{"type":"object","nullable":true,"properties":{"places":{"type":"array","items":{"$ref":"#/components/schemas/FacebookProfileSearchResult"}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["places","pageInfo"]},"FacebookPostSearch":{"type":"object","nullable":true,"properties":{"posts":{"type":"array","items":{"$ref":"#/components/schemas/FacebookPostSearchResult"}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["posts","pageInfo"]},"FacebookPostSearchResult":{"type":"object","properties":{"postId":{"type":"string"},"url":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"createdTime":{"type":"number","nullable":true},"author":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true}},"required":["id","name","url"]},"media":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true},"altText":{"type":"string","nullable":true}},"required":["id","type","url","imageUrl","altText"]}},"reactionCount":{"type":"number","nullable":true},"commentCount":{"type":"number","nullable":true},"shareCount":{"type":"number","nullable":true}},"required":["postId","url","text","createdTime","author","media","reactionCount","commentCount","shareCount"]},"FacebookEventSearch":{"type":"object","nullable":true,"properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/FacebookEventSearchResult"}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["events","pageInfo"]},"FacebookEventSearchResult":{"type":"object","properties":{"eventId":{"type":"string"},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true}},"required":["eventId","name","url","imageUrl"]},"FacebookTopSearch":{"type":"object","nullable":true,"properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/FacebookTopSearchResult"}},"pageInfo":{"$ref":"#/components/schemas/FacebookPageInfo"}},"required":["results","pageInfo"]},"FacebookTopSearchResult":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["post"]},"postId":{"type":"string"},"url":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"createdTime":{"type":"number","nullable":true},"author":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true}},"required":["id","name","url"]},"media":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true},"altText":{"type":"string","nullable":true}},"required":["id","type","url","imageUrl","altText"]}},"reactionCount":{"type":"number","nullable":true},"commentCount":{"type":"number","nullable":true},"shareCount":{"type":"number","nullable":true}},"required":["type","postId","url","text","createdTime","author","media","reactionCount","commentCount","shareCount"]},{"type":"object","properties":{"type":{"type":"string","enum":["event"]},"eventId":{"type":"string"},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true}},"required":["type","eventId","name","url","imageUrl"]},{"type":"object","properties":{"type":{"type":"string","enum":["page","person","place","profile"]},"id":{"type":"string"},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"profilePictureUrl":{"type":"string","nullable":true},"isVerified":{"type":"boolean"},"primaryText":{"type":"string","nullable":true},"description":{"type":"string","nullable":true}},"required":["type","id","name","url","profilePictureUrl","isVerified","primaryText","description"]}]},"Error410":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","UNAUTHORIZED","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","RATE_LIMITED","SITE_UNAVAILABLE","SITE_ERROR","INTERNAL_ERROR"],"example":"INVALID_REQUEST"},"status":{"type":"number","example":410},"message":{"type":"string","example":"This endpoint is retired"},"retryable":{"type":"boolean","example":false},"details":{"$ref":"#/components/schemas/ErrorDetails"}},"required":["code","status","message","retryable","details"]}},"required":["error"]},"InstagramProfile":{"type":"object","nullable":true,"properties":{"pk":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Numeric account ID; use it as `user_id` on other routes."},"username":{"type":"string"},"full_name":{"type":"string"},"biography":{"type":"string"},"profile_pic_url":{"type":"string"},"external_url":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"follower_count":{"type":"number"},"following_count":{"type":"number"},"media_count":{"type":"number"},"is_private":{"type":"boolean"},"is_verified":{"type":"boolean"},"is_business":{"type":"boolean"}},"required":["pk","username","full_name","biography","profile_pic_url","follower_count","following_count","media_count","is_private","is_verified","is_business"],"additionalProperties":{"nullable":true}},"InstagramProfileAbout":{"type":"object","nullable":true,"properties":{"username":{"type":"string","nullable":true},"is_verified":{"type":"boolean","nullable":true},"country":{"type":"string","nullable":true,"description":"Country shown in the account's About panel."},"date_joined":{"type":"string","nullable":true,"description":"Month and year the account was created, e.g. `June 2012`."},"former_usernames":{"type":"array","items":{"type":"string"},"description":"Earlier usernames of the account. Empty if it never changed."}},"required":["username","is_verified","country","date_joined","former_usernames"]},"InstagramProfileStories":{"type":"object","nullable":true,"properties":{"user":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true},"description":"Story owner. `null` when no story is live."},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"description":"Stories live now, oldest first. Empty when there are none."}},"required":["user","items"]},"InstagramProfileHighlights":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"description":"Highlights with `id`, `title`, `cover_media` and `media_count`. Pass `id` to `/v1/instagram/highlight/stories`."},"next_cursor":{"type":"string","nullable":true}},"required":["items","next_cursor"]},"InstagramHighlightStories":{"type":"object","nullable":true,"properties":{"highlight":{"type":"object","properties":{},"additionalProperties":{"nullable":true},"description":"Highlight details: `id`, `title`, `cover_media`, `user`."},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"description":"Stories saved in the highlight."}},"required":["highlight","items"]},"InstagramMedia":{"type":"object","nullable":true,"properties":{"pk":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Numeric media ID."},"code":{"type":"string","description":"Shortcode from the post URL."},"media_type":{"type":"number","description":"`1` photo, `2` video or reel, `8` carousel."},"taken_at":{"type":"number","description":"Unix time of posting."},"like_count":{"type":"number"},"comment_count":{"type":"number"},"user":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["pk","code","media_type","taken_at","like_count","comment_count","user"],"additionalProperties":{"nullable":true}},"InstagramCommentsPage":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"description":"Comments with `pk`, `text`, `user`, `created_at_utc` and `comment_like_count`."},"next_cursor":{"type":"string","nullable":true}},"required":["items","next_cursor"]},"InstagramPlaceRecent":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"description":"Recent posts tagged at the place, newest first."},"next_cursor":{"type":"string","nullable":true}},"required":["items","next_cursor"]},"InstagramPlaceSearch":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"description":"Matching places with `title`, `subtitle` and `location`."}},"required":["items"]},"RedditSubredditPostsResponse":{"type":"object","nullable":true,"properties":{"posts":{"type":"array","items":{"$ref":"#/components/schemas/RedditPost"},"description":"The posts, in Reddit's own feed order, de-duplicated by id across however many upstream pages the walk took. Empty for an exhausted feed **and for a community that does not exist** — the two are indistinguishable in Reddit's own response."},"count":{"type":"number","example":25,"description":"**How many posts are in `posts`, counted from the array itself.** It is a count of DISTINCT posts: duplicates Reddit re-serves past about page 6 are dropped before this is taken, so it never overstates what you received.\n\n**It is not a paging signal.** `count < requested_count` means the feed ran out, which `end_of_feed` states directly — that is the field to branch on."},"requested_count":{"type":"number","example":25,"description":"**The `count` this request asked for**, echoed so a comparison against what arrived never rests on two layers agreeing about a default."},"subreddit":{"type":"string","nullable":true,"example":"technology","description":"**The community this request read, after cleaning** — with any `r/` prefix and any pasted URL already reduced away. Echoed so a join against your own input does not depend on normalisation matching."},"sort":{"type":"string","nullable":true,"example":"best","description":"**The sort this request used**, echoed after cleaning so a join against your own input does not rest on a default matching. One of `best`, `hot`, `new`, `top`, `rising`, `controversial`.\n\nThe `time` window is **not** echoed, because the effective one is chosen upstream when you omit it (`ALL` on `top` and `controversial`, nothing anywhere else) and this response would otherwise be asserting a window it did not pick."},"next_cursor":{"type":"string","nullable":true,"example":"dDNfMXZheTE5OA==","description":"**Send this back as `after` to continue. The ONLY authority on whether more posts exist** — never the row count.\n\nIt points at the last post actually RETURNED rather than the last one fetched: the final upstream page usually overshoots `count` and is trimmed, and a cursor pointing past the trim would silently skip the overshoot on your next call.\n\nNull means the feed is exhausted, which `end_of_feed` restates as a boolean. It decodes to `t3_<id>` — not a secret, and not something that expires."},"end_of_feed":{"type":"boolean","example":false,"description":"**`true` when there is nothing after this page. Derived from `next_cursor` alone and never from how full the page came back**, because a short page is not an ending: it means the walk hit its own page ceiling or the feed genuinely ran out, and only the cursor tells you which.\n\nThis is the field to loop on."},"pages_fetched":{"type":"number","example":2,"description":"**How many of Reddit's ~24-post pages this call walked to satisfy your `count`.** Published because it is the whole cost model of the endpoint made visible: it is one billed call regardless, and this is the number of round trips you did not have to make. Rising sharply against a steady `count` means Reddit is re-serving posts already seen and the walk is discarding them."},"usage_note":{"type":"string","nullable":true,"example":"`count` is satisfied here, not upstream: Reddit serves ~24 posts a page and this walks them for you. A short result is not a short page — it means the feed ran out, and `end_of_feed` says so outright. `next_cursor` is not an opaque server token: it is base64('t3_' + the last post's id), so `after` will also accept that bare post id.","description":"The two things about this endpoint that produce wrong conclusions if you do not know them — that a short result is an ended feed rather than a short page, and that the cursor is constructible — restated in every response so they travel with the data rather than living only in these docs."}},"required":["posts","count","requested_count","subreddit","sort","next_cursor","end_of_feed","pages_fetched","usage_note"]},"RedditPost":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"1vay198","description":"**Reddit's base36 post id** — the `1vay198` in a permalink. This is also the value `after` takes, so walking a feed needs nothing constructed and nothing guessed."},"fullname":{"type":"string","nullable":true,"example":"t3_1vay198","description":"Reddit's own `t3_`-prefixed identifier for the post — the form its internals speak. `after` accepts this too."},"permalink":{"type":"string","nullable":true,"example":"/r/technology/comments/1vay198/example_post_title/","description":"The site-relative path to the post's comment page, as Reddit states it. `url` is the same thing absolute."},"url":{"type":"string","nullable":true,"example":"https://www.reddit.com/r/technology/comments/1vay198/example/","description":"**The post's page on reddit.com.** Note what it is NOT: the thing the post links to. That is `content_url`, and on a link post the two point at completely different places."},"title":{"type":"string","nullable":true,"example":"Example post title","description":"The post title, as submitted."},"subreddit":{"type":"string","nullable":true,"example":"technology","description":"The community the post lives in, bare. Worth reading rather than assuming it equals what you asked for — a feed can carry cross-posted rows."},"subreddit_prefixed":{"type":"string","nullable":true,"example":"r/technology","description":"The same name in Reddit's display form."},"subreddit_id":{"type":"string","nullable":true,"example":"t5_2qh16","description":"Reddit's `t5_` id for the community. Stable across a rename, which the name is not."},"author":{"type":"string","nullable":true,"example":"example_user","description":"The posting account's username, without `u/`. Deleted accounts publish as Reddit's own placeholder rather than as null."},"author_id":{"type":"string","nullable":true,"example":"t2_abc123","description":"Reddit's `t2_` id for the account. Survives a rename."},"author_icon":{"type":"string","nullable":true,"example":null,"description":"The author's avatar, when the card carried one. Null is common and means the fragment did not include it — not that the account has no avatar."},"created_at":{"type":"string","nullable":true,"example":"2026-08-17T09:14:22.000+0000","description":"**When the post was submitted, in Reddit's own ISO 8601 form** with milliseconds and a `+0000` offset. Republished verbatim rather than reformatted: rewriting a timestamp is a good way to introduce a timezone bug into data that did not have one."},"score":{"type":"number","nullable":true,"example":1284,"description":"**Net score — upvotes minus downvotes, as Reddit displays it.** The breakdown does not exist anywhere in this payload: Reddit publishes the net figure and `upvote_ratio` and nothing else, so ups and downs cannot be recovered from here by anyone, including us."},"upvote_ratio":{"type":"number","nullable":true,"example":0.94,"description":"The share of votes that were upvotes, 0-1. Together with `score` it is the whole of what Reddit says about voting on a post."},"comment_count":{"type":"number","nullable":true,"example":213,"description":"How many comments the post has. **The comments themselves are not available on this API** — see the tag description."},"award_count":{"type":"number","nullable":true,"example":0,"description":"How many awards the post carries. A count only; the award detail is not in a feed fragment."},"domain":{"type":"string","nullable":true,"example":"arstechnica.com","description":"**The host `content_url` points at, and the field that says what kind of post this is at a glance**: an external host for a link post, `i.redd.it` / `v.redd.it` for uploaded media, `self.<subreddit>` for a text post."},"content_url":{"type":"string","nullable":true,"example":"https://arstechnica.com/example-article/","description":"**What the post points at** — the outbound link on a link post, the media URL on an image or video one. Reddit does not separate those two, so neither does this; `domain` is how you tell which you have. For the post's own Reddit page, read `url`."},"post_type":{"type":"string","nullable":true,"example":"link","description":"Reddit's own classification: `link`, `image`, `video`, `gallery`, `text` or `multi_media`. It is the cheapest way to predict whether `text` and `media` will be populated."},"flair":{"type":"string","nullable":true,"example":"Society","description":"The post's flair label, when it has one. Most posts do not, and the flair element is present-but-empty on those — so null here means 'no flair' rather than 'not parsed'."},"flair_url":{"type":"string","nullable":true,"example":"/r/technology/?f=flair_name%3A%22Society%22","description":"Reddit's own link to the community filtered by this flair. Useful as a facet; not a value to key on."},"thumbnail":{"type":"string","nullable":true,"example":"https://external-preview.redd.it/example.jpg","description":"**The card thumbnail — anchored on Reddit's own thumbnail marker, not 'the first image in the card'.** That distinction is measured: on posts whose author has a custom avatar the first image is the avatar, and seven of the 24 posts in the reference capture are exactly that shape. Null on posts with no thumbnail."},"media":{"$ref":"#/components/schemas/RedditPostMedia"},"text":{"type":"string","nullable":true,"example":null,"description":"**The post body, and only self posts have one.** Measured on the same 24-post fragment: null for every post. A link post's body IS empty — the link is the content — so null here is a fact about the post rather than a gap in the parse."},"nsfw":{"type":"boolean","nullable":true,"example":null,"description":"**Tri-state, and null does NOT mean 'safe'.** `<shreddit-post>` carries no NSFW attribute at all; the only signal in the markup rides on the media lightbox element, which appears on **image posts and nothing else** — measured across a 30-post capture, present on the 10 image posts and absent from every video, gallery, link and text post.\n\nSo this is `true`/`false` on an image post and **`null` (unknown) on every other kind**, which is most of a feed. Publishing null as `false` would be asserting something Reddit never said. **Do not use this field to build a safe-content filter** — it cannot support one."},"spoiler":{"type":"boolean","example":false,"description":"Whether the post is marked as a spoiler. A real boolean: Reddit sets the attribute only when true, so absence is a measured `false`."},"locked":{"type":"boolean","example":false,"description":"Whether commenting is locked. A real boolean, same as `spoiler`."},"archived":{"type":"boolean","example":false,"description":"Whether the post is archived (too old to vote or comment on). A real boolean, same as `spoiler`."},"language":{"type":"string","nullable":true,"example":"en","description":"Reddit's own language tag for the post."}},"required":["id","fullname","permalink","url","title","subreddit","subreddit_prefixed","subreddit_id","author","author_id","author_icon","created_at","score","upvote_ratio","comment_count","award_count","domain","content_url","post_type","flair","flair_url","thumbnail","media","text","nsfw","spoiler","locked","archived","language"]},"RedditPostMedia":{"type":"object","nullable":true,"properties":{"kind":{"type":"string","nullable":true,"example":"image","description":"`image`, `video` or `gallery` — which of the three shapes below the rest of this object is in. Read it before reading anything else here: the fields that are populated depend on it entirely."},"url":{"type":"string","nullable":true,"example":"https://i.redd.it/example.jpeg","description":"**The canonical media URL** — `i.redd.it` for an image, the HLS playlist (`v.redd.it/.../HLSPlaylist.m3u8`) for a video. On a gallery this is the cover rather than a page; the pages are in `items`."},"poster":{"type":"string","nullable":true,"example":null,"description":"**Video only.** The still frame shown before playback."},"preview":{"type":"string","nullable":true,"example":null,"description":"**Video only.** The short silent mp4 Reddit autoplays in the feed. Not the full video — that is the HLS playlist in `url`."},"caption_url":{"type":"string","nullable":true,"example":null,"description":"**Video only.** The caption track, when the post has one."},"items":{"type":"array","nullable":true,"items":{"type":"string"},"example":null,"description":"**Gallery only.** The individual pages, in the order Reddit lays them out. Null on every other kind — an empty array would claim a gallery with no pages."}},"required":["kind","url","poster","preview","caption_url","items"],"description":"**Media for the post, and genuinely null on most rows.** Measured on a real 24-post fragment of a link-heavy community: null for every single post. It is populated on image, video and gallery posts and on nothing else, so treat its absence as the normal case rather than as a parse failure — `post_type` predicts it.\n\nOne record for all three kinds: read `kind` first, and the slots the other kinds do not use are null."},"RedditSearchResponse":{"type":"object","nullable":true,"properties":{"results":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/RedditSearchPost"},{"$ref":"#/components/schemas/RedditSearchSubreddit"},{"$ref":"#/components/schemas/RedditSearchComment"},{"$ref":"#/components/schemas/RedditSearchUser"}]},"description":"**The results, in Reddit's own ranked order, de-duplicated by fullname.** Four record shapes, one per corpus, and every row states its own `kind` — `post`, `subreddit`, `comment` or `user`. Branch on that before reading anything else.\n\n**`type=media` returns `kind: \"post\"` rows**, because that is what they are: posts rendered through a media unit, carrying a `media` URL and no counters.\n\nEmpty is a normal answer for a query with no matches."},"query":{"type":"string","nullable":true,"example":"chatgpt","description":"**The query this request ran**, echoed after trimming."},"type":{"type":"string","nullable":true,"example":"posts","description":"**The corpus this request searched**, echoed after cleaning so a join against your own input does not rest on a default matching. One of `posts`, `communities`, `comments`, `people`, `media`."},"count":{"type":"number","example":25,"description":"**How many results are in `results`, counted from the array itself** — distinct results, since search pages repeat and the duplicates are dropped before this is taken."},"requested_count":{"type":"number","example":25,"description":"**The `count` this request asked for**, echoed. On `type=people` expect `count` to fall well short of it; that corpus is one page."},"next_cursor":{"type":"string","nullable":true,"example":null,"description":"**Always null on this endpoint, and that is a decision rather than a gap.**\n\nSearch's cursor is the one on this site we cannot construct — it is base64 of Reddit's ranking-pipeline state, not of a fullname — so it cannot be re-aimed at the trimmed list a response actually returns. Publishing the cursor of the last page FETCHED would silently skip the overshoot between `count` and the page boundary. **Raise `count` to go deeper.**\n\nThe field exists so that a caller writing one paging loop across this plane finds the shape they expect, and finds it saying 'no more from here'."},"end_of_feed":{"type":"boolean","example":false,"description":"**`true` when the walk reached the end of the corpus rather than the end of your `count`.** Unlike the feed endpoints this is not derived from a cursor — there is none — it is the walk reporting that Reddit stopped handing back pages.\n\n**On `type=people` expect it `true` almost immediately**: that corpus is one short page and then no cursor at all."},"pages_fetched":{"type":"number","example":4,"description":"**How many search pages this call walked.** Pages are small (7-14 results) and repeat, so this runs higher against a given `count` than a feed endpoint's would."},"usage_note":{"type":"string","nullable":true,"example":"Search pages are small (7-14 results) and repeat across pages, so `count` counts distinct results. Search records are genuinely thinner than feed rows — Reddit renders them as SDUI markup with no post elements at all, so score and comment count come from the visible counter row and are null wherever the renderer omits it (all media results, for instance). type=people returns one short page and then no cursor; a small result there is the corpus, not an error. Raise `count` to go deeper — the cursor is not exposed because it cannot be re-aimed at a trimmed list.","description":"Why these records are thinner than feed rows, why `people` is short, and why depth is controlled with `count` rather than a cursor — restated in every response."}},"required":["results","query","type","count","requested_count","next_cursor","end_of_feed","pages_fetched","usage_note"]},"RedditSearchPost":{"type":"object","properties":{"kind":{"type":"string","enum":["post"],"example":"post"},"id":{"type":"string","nullable":true,"example":"1vay198"},"fullname":{"type":"string","nullable":true,"example":"t3_1vay198"},"title":{"type":"string","nullable":true,"example":"Example post title"},"permalink":{"type":"string","nullable":true,"example":"/r/technology/comments/1vay198/example/"},"author":{"type":"string","nullable":true,"example":"example_user"},"author_id":{"type":"string","nullable":true,"example":"t2_abc123"},"subreddit":{"type":"string","nullable":true,"example":"technology"},"subreddit_id":{"type":"string","nullable":true,"example":"t5_2qh16"},"created_at":{"type":"string","nullable":true,"example":"2026-08-17T09:14:22.000+0000"},"score":{"type":"number","nullable":true,"example":1284,"description":"**Net score, read off the visible counter row** — the only place a score appears in search markup at all. **Null on every `type=media` result**, because the media unit renders no counter row; that is a property of the renderer rather than of the post, and null here is 'not rendered' rather than zero."},"comment_count":{"type":"number","nullable":true,"example":213,"description":"How many comments the post has, from the same counter row as `score` — and null on media results for the same reason."},"nsfw":{"type":"boolean","nullable":true,"example":false,"description":"**Whether Reddit marks the post NSFW. This is the ONE surface on this API where the flag is stated rather than inferred** — search's telemetry context carries it for every result, unlike a feed fragment where it only exists on image posts.\n\n**It is still nullable and null still means unknown, not safe.** A result whose context omits the field publishes null, and **no NSFW filter is offered on this endpoint** — a filter built on a field that can be unknown is a filter that fails silently."},"spoiler":{"type":"boolean","nullable":true,"example":false,"description":"Whether the post is marked as a spoiler, from the same telemetry context. Nullable for the same reason `nsfw` is."},"subreddit_nsfw":{"type":"boolean","nullable":true,"example":false,"description":"Whether the COMMUNITY is marked NSFW — a different claim from the post's own flag, and stated separately by Reddit. Null means the context did not say."},"snippet":{"type":"string","nullable":true,"example":null,"description":"**Reddit's own matched excerpt**, present when the hit was on a comment under the post rather than on its title. Null when the match was the title itself."},"snippet_fullname":{"type":"string","nullable":true,"example":null,"description":"The fullname of the thing the `snippet` came from — normally the matching comment, which is how you get from the excerpt to its source."},"media":{"type":"string","nullable":true,"example":null,"description":"**The full-size image on a `type=media` result**, anchored on Reddit's own primary-media marker rather than on 'the first image in the block' — that block also holds a blurred background copy and the community icon. Null on every other search type."}},"required":["kind","id","fullname","title","permalink","author","author_id","subreddit","subreddit_id","created_at","score","comment_count","nsfw","spoiler","subreddit_nsfw","snippet","snippet_fullname","media"],"description":"**A post as SEARCH states it — thinner than the same post in a feed, because search renders less.** No upvote ratio, no flair, no body, no media beyond the media unit's own image: those are not omitted here, they are absent from the markup search serves. Read `/v1/reddit/post-details` for the full record of any post you find."},"RedditSearchSubreddit":{"type":"object","properties":{"kind":{"type":"string","enum":["subreddit"],"example":"subreddit"},"id":{"type":"string","nullable":true,"example":"2qh16"},"fullname":{"type":"string","nullable":true,"example":"t5_2qh16"},"name":{"type":"string","nullable":true,"example":"technology"},"prefixed_name":{"type":"string","nullable":true,"example":"r/technology"},"url":{"type":"string","nullable":true,"example":"https://www.reddit.com/r/technology/"},"description":{"type":"string","nullable":true,"example":"Subreddit dedicated to the news and discussions about…"},"weekly_visitors":{"type":"number","nullable":true,"example":4305645,"description":"**Reddit's own weekly-visitor figure. NOT a subscriber count** — no subscriber total is exposed on any surface reachable without a login, and publishing this as one would answer that question wrongly."},"weekly_contributions":{"type":"number","nullable":true,"example":1204},"icon":{"type":"string","nullable":true,"example":null},"nsfw":{"type":"boolean","nullable":true,"example":false,"description":"Whether the community is marked NSFW, as Reddit's own telemetry context states it. **Null means unknown, not safe.**"},"quarantined":{"type":"boolean","nullable":true,"example":false}},"required":["kind","id","fullname","name","prefixed_name","url","description","weekly_visitors","weekly_contributions","icon","nsfw","quarantined"],"description":"**A community result.** The two numbers are Reddit's weekly visitor and contribution figures — neither is a member count, which this site does not publish anywhere logged-out."},"RedditSearchComment":{"type":"object","properties":{"kind":{"type":"string","enum":["comment"],"example":"comment"},"id":{"type":"string","nullable":true,"example":"p44qdpd"},"fullname":{"type":"string","nullable":true,"example":"t1_p44qdpd"},"post_fullname":{"type":"string","nullable":true,"example":"t3_1vay198"},"post_title":{"type":"string","nullable":true,"example":"Example post title"},"subreddit":{"type":"string","nullable":true,"example":"technology"},"subreddit_id":{"type":"string","nullable":true,"example":"t5_2qh16"},"author":{"type":"string","nullable":true,"example":"example_user","description":"**The commenting account.** It is a bare text node in search markup with no attribute and no test hook on it, so it is matched narrowly and allowed to fail: null here means the parse declined to guess rather than that the comment has no author."},"permalink":{"type":"string","nullable":true,"example":"/r/technology/comments/1vay198/example/p44qdpd/"},"created_at":{"type":"string","nullable":true,"example":"2026-08-17T09:14:22.000+0000"},"body":{"type":"string","nullable":true,"example":"The matched comment text."},"nsfw":{"type":"boolean","nullable":true,"example":false,"description":"Whether the POST the comment is on is marked NSFW — Reddit states the post's flag here, not the comment's. **Null means unknown.**"}},"required":["kind","id","fullname","post_fullname","post_title","subreddit","subreddit_id","author","permalink","created_at","body","nsfw"],"description":"**A comment result, scoped to the comment rather than to the post it sits under.** A search comment block renders the post's permalink, title and timestamp above the comment's own; the fields here are read from inside the comment's block so the two cannot be confused."},"RedditSearchUser":{"type":"object","properties":{"kind":{"type":"string","enum":["user"],"example":"user"},"id":{"type":"string","nullable":true,"example":"abc123"},"fullname":{"type":"string","nullable":true,"example":"t2_abc123"},"name":{"type":"string","nullable":true,"example":"spez"},"prefixed_name":{"type":"string","nullable":true,"example":"u/spez"},"url":{"type":"string","nullable":true,"example":"https://www.reddit.com/user/spez/"},"karma":{"type":"number","nullable":true,"example":940933},"description":{"type":"string","nullable":true,"example":null},"icon":{"type":"string","nullable":true,"example":null}},"required":["kind","id","fullname","name","prefixed_name","url","karma","description","icon"],"description":"**An account result — only returned by `type=people`, which is one short page and then ends.** Measured: 4 results, then no cursor at all. A `count` of 50 coming back as 4 is the corpus, not a failure."},"RedditPopularPostsResponse":{"type":"object","nullable":true,"properties":{"posts":{"type":"array","items":{"$ref":"#/components/schemas/RedditPost"},"description":"The posts, in the order Reddit served them, de-duplicated by id across however many pages the walk took.\n\n**Ordering is not stable across calls.** This feed re-ranks between requests — two identical calls shared 23 of 25 posts rather than 25 — so the same `count` asked for twice is a similar set in a possibly different order, not a repeatable page. Treat it as a sample of what is popular now."},"count":{"type":"number","example":25,"description":"**How many posts are in `posts`, counted from the array itself** — and DISTINCT posts, which on this feed is the whole point. An 8-page walk saw a 22.5% duplicate rate; those are dropped before this is taken, so it never overstates what you received.\n\n**It is not a paging signal.** `end_of_feed` is."},"requested_count":{"type":"number","example":25,"description":"**The `count` this request asked for**, echoed so a comparison against what arrived never rests on two layers agreeing about a default."},"next_cursor":{"type":"string","nullable":true,"example":"dDNfMXZheTE5OA==","description":"**Send this back as `after` to continue. The only authority on whether more posts exist** — never the row count.\n\nIt is built here rather than read from Reddit, which ships no cursor for this feed at all: it is `base64('t3_' + the last RETURNED post's id)`, so `after` equally accepts that bare id. Pointing at the last returned post rather than the last fetched one is what stops a resume skipping the final page's overshoot.\n\nNull means the walk reached the end, which `end_of_feed` restates."},"end_of_feed":{"type":"boolean","example":false,"description":"**`true` when there is nothing after this page. Derived from `next_cursor` alone and never from how full the page came back.** This is the field to loop on."},"pages_fetched":{"type":"number","example":3,"description":"**How many of Reddit's pages this call walked.** Expect it to run higher here than on `/v1/reddit/subreddit-posts` for the same `count`: this feed re-serves posts already seen at a measured 22.5% rate and the walk discards them, so roughly a quarter of the pages buy nothing."},"usage_note":{"type":"string","nullable":true,"example":"r/popular re-ranks between calls: two identical requests share about 23 of 25 posts and an 8-page walk returns roughly 155 distinct posts out of 200 rows. `count` here is DISTINCT posts, so a walk of this feed is about 25% less efficient than its page size suggests. Reddit ships no cursor for this feed, so `next_cursor` is base64('t3_' + the last post's id), built here; `after` will equally accept that bare post id.","description":"The things about this feed that produce wrong conclusions if you do not know them — that it samples as much as it pages, and that the cursor is constructible — restated in every response so they travel with the data."}},"required":["posts","count","requested_count","next_cursor","end_of_feed","pages_fetched","usage_note"]},"RedditUserPostsResponse":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/RedditProfilePost"},{"$ref":"#/components/schemas/RedditProfileComment"}]},"description":"**The feed, in Reddit's own order, with posts and comments interleaved.** Every row carries `kind` — `post` or `profile_comment` — and the two shapes are genuinely different records rather than one shape with empty halves. Branch on `kind` before reading anything else.\n\nDe-duplicated by id across the walk. Empty for an exhausted feed **and for an account that does not exist**, which Reddit's fragment does not distinguish."},"username":{"type":"string","nullable":true,"example":"spez","description":"**The account this request read, after cleaning** — with any `u/` prefix and any pasted URL already reduced away."},"include":{"type":"string","nullable":true,"example":"all","description":"**The `include` this request applied**, echoed after cleaning so a join against your own input does not rest on a default matching. One of `all`, `posts`, `comments`."},"count":{"type":"number","example":25,"description":"**How many rows are in `items`, counted from the array itself** — after `include` was applied, so on a filtered request this is what survived the filter rather than what was fetched.\n\n**A short count is not a paging signal**; `end_of_feed` is."},"post_count":{"type":"number","example":2,"description":"**How many of `items` are posts.** Published beside `comment_count` because the mix is the surprising part of this feed: an active account runs roughly 1 post to 10 comments, and seeing that ratio in the response is what explains a slow `include=posts` walk."},"comment_count":{"type":"number","example":23,"description":"**How many of `items` are comments.** Together with `post_count` it sums to `count`."},"requested_count":{"type":"number","example":25,"description":"**The `count` this request asked for**, echoed."},"next_cursor":{"type":"string","nullable":true,"example":"dDFfcDQ0cWRwZA==","description":"**Send this back as `after` to continue. The only authority on whether more items exist** — never the row count.\n\n**It is built from the last ITEM, not the last post**, and that is what keeps a walk moving: this feed's cursor is the last element whatever kind it is, so it is normally a comment's `t1_` fullname. A cursor built from the last POST instead does not error — it re-serves the same page indefinitely.\n\n**It points at the last item RETURNED, which on a filtered request is the last item KEPT.** Null means the walk ended, which `end_of_feed` restates."},"end_of_feed":{"type":"boolean","example":false,"description":"**`true` when there is nothing after this page. Derived from `next_cursor` alone and never from how full the page came back.**\n\n**On `include=posts` this is the field that tells you what a short result meant**: `false` with fewer rows than you asked for means the walk hit its page budget while filtering, not that the account ran out. Send the cursor back and keep going."},"pages_fetched":{"type":"number","example":4,"description":"**How many of Reddit's pages this call walked.** On `include=posts` expect it to be high against a small `count` — roughly one row in ten of an active account's overview is a post, and the filter runs after the page is fetched."},"usage_note":{"type":"string","nullable":true,"example":"Reddit's 'overview' is ONE feed carrying posts and comments interleaved, with no server-side filter — every row says which it is in `kind`, and `include` filters them here rather than upstream. An active account runs roughly 1 post to 10 comments, so include=posts walks a lot of pages for a few rows and may return fewer than `count`; `end_of_feed` says whether that was the account ending or the page budget. `next_cursor` is normally a COMMENT's fullname, because this feed's cursor is the last item and the last item is usually a comment.","description":"The three things about this feed that produce wrong conclusions if you do not know them — that it interleaves, that `include` filters after the walk, and that the cursor is an item rather than a post — restated in every response."}},"required":["items","username","include","count","post_count","comment_count","requested_count","next_cursor","end_of_feed","pages_fetched","usage_note"]},"RedditProfilePost":{"type":"object","properties":{"kind":{"type":"string","enum":["post"],"example":"post","description":"**Always `post` on this row.** Read it before anything else: the overview feed interleaves posts and comments, and the two carry different fields."},"id":{"type":"string","nullable":true,"example":"1vay198","description":"**Reddit's base36 post id** — the `1vay198` in a permalink. This is also the value `after` takes, so walking a feed needs nothing constructed and nothing guessed."},"fullname":{"type":"string","nullable":true,"example":"t3_1vay198","description":"Reddit's own `t3_`-prefixed identifier for the post — the form its internals speak. `after` accepts this too."},"permalink":{"type":"string","nullable":true,"example":"/r/technology/comments/1vay198/example_post_title/","description":"The site-relative path to the post's comment page, as Reddit states it. `url` is the same thing absolute."},"url":{"type":"string","nullable":true,"example":"https://www.reddit.com/r/technology/comments/1vay198/example/","description":"**The post's page on reddit.com.** Note what it is NOT: the thing the post links to. That is `content_url`, and on a link post the two point at completely different places."},"title":{"type":"string","nullable":true,"example":"Example post title","description":"The post title, as submitted."},"subreddit":{"type":"string","nullable":true,"example":"technology","description":"The community the post lives in, bare. Worth reading rather than assuming it equals what you asked for — a feed can carry cross-posted rows."},"subreddit_prefixed":{"type":"string","nullable":true,"example":"r/technology","description":"The same name in Reddit's display form."},"subreddit_id":{"type":"string","nullable":true,"example":"t5_2qh16","description":"Reddit's `t5_` id for the community. Stable across a rename, which the name is not."},"author":{"type":"string","nullable":true,"example":"example_user","description":"The posting account's username, without `u/`. Deleted accounts publish as Reddit's own placeholder rather than as null."},"author_id":{"type":"string","nullable":true,"example":"t2_abc123","description":"Reddit's `t2_` id for the account. Survives a rename."},"author_icon":{"type":"string","nullable":true,"example":null,"description":"The author's avatar, when the card carried one. Null is common and means the fragment did not include it — not that the account has no avatar."},"created_at":{"type":"string","nullable":true,"example":"2026-08-17T09:14:22.000+0000","description":"**When the post was submitted, in Reddit's own ISO 8601 form** with milliseconds and a `+0000` offset. Republished verbatim rather than reformatted: rewriting a timestamp is a good way to introduce a timezone bug into data that did not have one."},"score":{"type":"number","nullable":true,"example":1284,"description":"**Net score — upvotes minus downvotes, as Reddit displays it.** The breakdown does not exist anywhere in this payload: Reddit publishes the net figure and `upvote_ratio` and nothing else, so ups and downs cannot be recovered from here by anyone, including us."},"upvote_ratio":{"type":"number","nullable":true,"example":0.94,"description":"The share of votes that were upvotes, 0-1. Together with `score` it is the whole of what Reddit says about voting on a post."},"comment_count":{"type":"number","nullable":true,"example":213,"description":"How many comments the post has. **The comments themselves are not available on this API** — see the tag description."},"award_count":{"type":"number","nullable":true,"example":0,"description":"How many awards the post carries. A count only; the award detail is not in a feed fragment."},"domain":{"type":"string","nullable":true,"example":"arstechnica.com","description":"**The host `content_url` points at, and the field that says what kind of post this is at a glance**: an external host for a link post, `i.redd.it` / `v.redd.it` for uploaded media, `self.<subreddit>` for a text post."},"content_url":{"type":"string","nullable":true,"example":"https://arstechnica.com/example-article/","description":"**What the post points at** — the outbound link on a link post, the media URL on an image or video one. Reddit does not separate those two, so neither does this; `domain` is how you tell which you have. For the post's own Reddit page, read `url`."},"post_type":{"type":"string","nullable":true,"example":"link","description":"Reddit's own classification: `link`, `image`, `video`, `gallery`, `text` or `multi_media`. It is the cheapest way to predict whether `text` and `media` will be populated."},"flair":{"type":"string","nullable":true,"example":"Society","description":"The post's flair label, when it has one. Most posts do not, and the flair element is present-but-empty on those — so null here means 'no flair' rather than 'not parsed'."},"flair_url":{"type":"string","nullable":true,"example":"/r/technology/?f=flair_name%3A%22Society%22","description":"Reddit's own link to the community filtered by this flair. Useful as a facet; not a value to key on."},"thumbnail":{"type":"string","nullable":true,"example":"https://external-preview.redd.it/example.jpg","description":"**The card thumbnail — anchored on Reddit's own thumbnail marker, not 'the first image in the card'.** That distinction is measured: on posts whose author has a custom avatar the first image is the avatar, and seven of the 24 posts in the reference capture are exactly that shape. Null on posts with no thumbnail."},"media":{"$ref":"#/components/schemas/RedditPostMedia"},"text":{"type":"string","nullable":true,"example":null,"description":"**The post body, and only self posts have one.** Measured on the same 24-post fragment: null for every post. A link post's body IS empty — the link is the content — so null here is a fact about the post rather than a gap in the parse."},"nsfw":{"type":"boolean","nullable":true,"example":null,"description":"**Tri-state, and null does NOT mean 'safe'.** `<shreddit-post>` carries no NSFW attribute at all; the only signal in the markup rides on the media lightbox element, which appears on **image posts and nothing else** — measured across a 30-post capture, present on the 10 image posts and absent from every video, gallery, link and text post.\n\nSo this is `true`/`false` on an image post and **`null` (unknown) on every other kind**, which is most of a feed. Publishing null as `false` would be asserting something Reddit never said. **Do not use this field to build a safe-content filter** — it cannot support one."},"spoiler":{"type":"boolean","example":false,"description":"Whether the post is marked as a spoiler. A real boolean: Reddit sets the attribute only when true, so absence is a measured `false`."},"locked":{"type":"boolean","example":false,"description":"Whether commenting is locked. A real boolean, same as `spoiler`."},"archived":{"type":"boolean","example":false,"description":"Whether the post is archived (too old to vote or comment on). A real boolean, same as `spoiler`."},"language":{"type":"string","nullable":true,"example":"en","description":"Reddit's own language tag for the post."}},"required":["kind","id","fullname","permalink","url","title","subreddit","subreddit_prefixed","subreddit_id","author","author_id","author_icon","created_at","score","upvote_ratio","comment_count","award_count","domain","content_url","post_type","flair","flair_url","thumbnail","media","text","nsfw","spoiler","locked","archived","language"]},"RedditProfileComment":{"type":"object","properties":{"kind":{"type":"string","enum":["profile_comment"],"example":"profile_comment","description":"**Always `profile_comment` on this row**, and the name is a warning as much as a label: this is a PROFILE-feed comment, which is a thinner record than the comment-tree shape `/v1/reddit/post-comments` returns."},"id":{"type":"string","nullable":true,"example":"p44qdpd","description":"Reddit's base36 comment id. This is also what `after` takes, so resuming a walk needs nothing constructed."},"fullname":{"type":"string","nullable":true,"example":"t1_p44qdpd","description":"Reddit's `t1_`-prefixed identifier for the comment. `after` accepts this too."},"body":{"type":"string","nullable":true,"example":"This is the comment text as rendered.","description":"**The comment text.** Decoded out of Reddit's rich-text JSON payload rather than lifted from the rendered HTML, so it carries no markup."},"score":{"type":"number","nullable":true,"example":42,"description":"Net score. It rides on the nested action row rather than on the comment element itself, so null means the fragment did not render one — a hidden or very new score — rather than a score of zero."},"created_at":{"type":"string","nullable":true,"example":"2026-08-17T09:14:22.000+0000","description":"When the comment was posted, in Reddit's own ISO 8601 form, verbatim."},"permalink":{"type":"string","nullable":true,"example":"/r/technology/comments/1vay198/example/p44qdpd/","description":"The site-relative path to the comment in its own thread — the way to get from this row to its context."},"subreddit":{"type":"string","nullable":true,"example":"technology","description":"**The community the comment was made in.** The one thing this shape has that the comment-tree shape does not need, because a profile feed spans posts and communities."}},"required":["kind","id","fullname","body","score","created_at","permalink","subreddit"],"description":"**A comment as a profile feed states it — deliberately thinner than a comment-tree row, because the source is thinner.**\n\n`<shreddit-profile-comment>` is a different element from the one a post page renders: it carries no parent, no depth, no reply structure and no author (you asked for the account, so the author is the account). Those fields are ABSENT here rather than published as permanent nulls — a `depth: 0` on every row would imply a tree this feed has no place in.\n\nFor depth, parentage and reply structure, read `/v1/reddit/post-comments`."},"RedditUserCommentsResponse":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","items":{"$ref":"#/components/schemas/RedditProfileComment"},"description":"The account's comments, newest first, de-duplicated by id across the walk. Empty for an account with no comments **and for one that does not exist** — Reddit's fragment does not distinguish them."},"username":{"type":"string","nullable":true,"example":"spez","description":"**The account this request read, after cleaning** — with any `u/` prefix and any pasted URL already reduced away."},"count":{"type":"number","example":25,"description":"**How many comments are in `comments`, counted from the array itself.** Distinct ids: this feed measured zero duplicates over 8 pages, so the de-duplication behind it has nothing to do here — but it runs anyway, and this is counted after it."},"requested_count":{"type":"number","example":25,"description":"**The `count` this request asked for**, echoed."},"next_cursor":{"type":"string","nullable":true,"example":"dDFfcDQ0cWRwZA==","description":"**Send this back as `after` to continue.** It is `base64('t1_' + the last RETURNED comment's id)`, so `after` equally accepts that bare id. Null means the account ran out, which `end_of_feed` restates — and on this feed, unlike the others here, that reading is well supported by measurement."},"end_of_feed":{"type":"boolean","example":false,"description":"**`true` when the account has no more comments. Derived from `next_cursor` alone.** This is the field to loop on."},"pages_fetched":{"type":"number","example":1,"description":"**How many of Reddit's ~25-comment pages this call walked.** It tracks `count / 25` closely here, because this is the one feed on this API that measured no duplicates at all."},"usage_note":{"type":"string","nullable":true,"example":"`count` is satisfied by walking Reddit's ~25-comment pages. This feed measured 200 comments with 200 distinct ids over 8 pages, so unlike the subreddit and popular feeds a short result here really does mean the account ran out of comments. These rows are a profile shape, not a comment-tree shape: they carry the body, score and permalink but no parent, no depth and no replies, because a profile feed spans posts and has no tree to be at a depth in. `next_cursor` is base64('t1_' + the last comment's id).","description":"What a short result means on this feed (the account ran out) and what these rows are not (a comment tree), restated in every response."}},"required":["comments","username","count","requested_count","next_cursor","end_of_feed","pages_fetched","usage_note"]},"RedditPostCommentsResponse":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","items":{"$ref":"#/components/schemas/RedditComment"},"description":"**The comments collected, FLAT, in prefix order** — the tree read depth-first, de-duplicated by id. Rebuild the nesting from `depth` and `parent_fullname`, both of which Reddit states.\n\n**This is a partial read of the tree unless `end_of_tree` is true.** Read `unfollowed_branches` and `truncated_threads` before treating it as the post's comments."},"subreddit":{"type":"string","nullable":true,"example":"technology","description":"**The community this request read**, after cleaning."},"post_id":{"type":"string","nullable":true,"example":"1vqcqpz","description":"**The post this request read**, after cleaning — with any `t3_` prefix and any pasted permalink already reduced away."},"post_fullname":{"type":"string","nullable":true,"example":"t3_1vqcqpz"},"permalink":{"type":"string","nullable":true,"example":"/r/technology/comments/1vqcqpz/example_post_title/","description":"**The post's canonical permalink, slug included** — read from Reddit's own comment-tree element rather than assembled. The slug is not cosmetic: the same post id without it answers 500 with an empty body, and a slug cannot be derived from an id."},"sort":{"type":"string","nullable":true,"example":"CONFIDENCE","description":"**The sort actually in effect.** Your `sort` when you sent one; otherwise Reddit's own default as IT names it, which is `CONFIDENCE` — a value this API does not accept as an input, because no spelling of it has been measured as one. So this field is echoed in two different vocabularies by design, and it is the honest way to say which ordering you got."},"total_comments":{"type":"number","nullable":true,"example":226,"description":"**Reddit's own total for the post — the denominator to judge `count` against.** It is what the site displays, and it counts the whole tree including branches this call did not follow. `count` well below it with `end_of_tree: false` is a partial read, not a discrepancy."},"count":{"type":"number","example":25,"description":"**How many comments are in `comments`, counted from the array itself** — distinct comments, de-duplicated across every branch the walk followed.\n\n**Never read it as 'the post has this many comments'**; that is `total_comments`."},"requested_count":{"type":"number","example":25,"description":"**The `count` this request asked for**, echoed."},"end_of_tree":{"type":"boolean","example":false,"description":"**`true` only when the whole tree was read: no branch left queued AND no thread left truncated.** It is the single field that says whether `comments` is the post's comments or a slice of them.\n\n**A short `comments` array does not imply this.** Following one branch of a 226-comment post to exhaustion reached 52 comments and reported no onward cursor — which reads exactly like a finished tree if you only count rows. That is the failure this field exists to prevent."},"unfollowed_branches":{"type":"number","example":14,"description":"**How many 'load more' cursors were still queued when the walk stopped** — branches that exist, are reachable, and were not read because `count` or the page budget ran out first.\n\nReddit's cursors are a TREE rather than a chain: the root batch of a 226-comment post handed back **19 of them at once**. Raise `count` to consume more of the queue."},"truncated_threads":{"type":"number","example":0,"description":"**How many subtrees Reddit gave no cursor for at all** — the 'continue this thread' links, which carry only a permalink.\n\n**These cannot be followed by raising `count`.** The only way to read one is to fetch its permalink as a post in its own right, which is a different request than this endpoint makes. Counted so that a tree with unreachable branches is never published as a complete one."},"pages_fetched":{"type":"number","example":3,"description":"**How many batches this call fetched** — the root batch plus one per 'load more' cursor followed."},"usage_note":{"type":"string","nullable":true,"example":"Comments come back FLAT in prefix order, each carrying `depth` and `parent_fullname` — Reddit states both, neither is inferred from indentation — so a nested tree can be rebuilt exactly. The 'load more' cursors are a tree rather than a chain: one batch hands back several and this queues all of them, so `end_of_tree` is false while `unfollowed_branches` is non-zero. `truncated_threads` counts subtrees Reddit only links to by permalink and gives no cursor for; those need a separate request against that permalink.","description":"That the tree is flat and rebuildable, and that the cursors are a tree rather than a chain — restated in every response so a partial read is never mistaken for a whole one."}},"required":["comments","subreddit","post_id","post_fullname","permalink","sort","total_comments","count","requested_count","end_of_tree","unfollowed_branches","truncated_threads","pages_fetched","usage_note"]},"RedditComment":{"type":"object","properties":{"kind":{"type":"string","enum":["comment"],"example":"comment"},"id":{"type":"string","nullable":true,"example":"p44qdpd"},"fullname":{"type":"string","nullable":true,"example":"t1_p44qdpd","description":"Reddit's `t1_` identifier for the comment — the value another row's `parent_fullname` points at, and therefore the key to rebuild the tree on."},"parent_fullname":{"type":"string","nullable":true,"example":"t1_p44qab1","description":"**What this comment replies to** — another comment's `t1_` fullname, or the post's `t3_` fullname at depth 0. **Reddit states it; it is not inferred from indentation.**"},"post_fullname":{"type":"string","nullable":true,"example":"t3_1vqcqpz"},"depth":{"type":"number","nullable":true,"example":0,"description":"**How deep in the tree this comment sits, 0 for a top-level one.** Reddit's own attribute, not a count of ancestors we found — which matters, because a partial tree does not contain all of a deep comment's ancestors and a derived depth would be wrong exactly when it was needed."},"position":{"type":"number","nullable":true,"example":3,"description":"The comment's position among its siblings, as Reddit states it."},"parent_positions":{"type":"array","items":{"type":"number"},"example":[0,0],"description":"**The path down the tree to this comment**, as Reddit's own positional array. Empty at depth 0."},"author":{"type":"string","nullable":true,"example":"example_user","description":"The commenting account, without `u/`. A deleted account publishes as Reddit's own placeholder rather than as null."},"author_icon":{"type":"string","nullable":true,"example":null},"body":{"type":"string","nullable":true,"example":"This is the comment text as rendered.","description":"**The comment text**, decoded out of Reddit's rich-text JSON rather than lifted from the rendered HTML. **Null on a deleted comment**, which is published rather than dropped — see `is_deleted`."},"score":{"type":"number","nullable":true,"example":42},"created_at":{"type":"string","nullable":true,"example":"2026-08-17T09:14:22.000+0000"},"permalink":{"type":"string","nullable":true,"example":"/r/technology/comments/1vqcqpz/example/p44qdpd/"},"award_count":{"type":"number","nullable":true,"example":0},"is_deleted":{"type":"boolean","example":false,"description":"**Whether the comment was deleted. A deleted comment is published rather than dropped**, because it keeps its position in the tree and its replies — with no body and no score, which is exactly what Reddit renders. Dropping it would orphan every reply under it."},"is_collapsed":{"type":"boolean","example":false,"description":"Whether Reddit renders the comment collapsed by default (downvoted, or flagged by the community's own settings)."}},"required":["kind","id","fullname","parent_fullname","post_fullname","depth","position","parent_positions","author","author_icon","body","score","created_at","permalink","award_count","is_deleted","is_collapsed"],"description":"**One comment from a post's tree, published FLAT.**\n\nThe array is in prefix order — the tree read depth-first — and every row carries `depth` and `parent_fullname` **as Reddit states them**, so a nested structure can be rebuilt exactly and a caller who wants to stream does not have to build one. Nothing here is inferred from indentation."},"RedditSubredditInfoResponse":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"2qh16"},"fullname":{"type":"string","nullable":true,"example":"t5_2qh16","description":"Reddit's `t5_` id for the community. Stable across a rename, which the name is not."},"name":{"type":"string","nullable":true,"example":"technology"},"display_name":{"type":"string","nullable":true,"example":"/r/Technology","description":"The community's own display spelling, including its capitalisation. Reddit emits it with stray whitespace; that is trimmed."},"prefixed_name":{"type":"string","nullable":true,"example":"r/technology"},"url":{"type":"string","nullable":true,"example":"https://www.reddit.com/r/technology/"},"description":{"type":"string","nullable":true,"example":"Subreddit dedicated to the news and discussions about…"},"weekly_active_users":{"type":"number","nullable":true,"example":4305645,"description":"**Reddit's own `weekly-active-users` figure. THIS IS NOT A SUBSCRIBER COUNT and it is not renamed into one.** 4,305,645 is not r/technology's member total — the figure runs far above member totals, and where the real subscriber count lives is unknown: no subscriber figure is exposed on any surface reachable without a login.\n\nPublishing this as `subscribers` would answer that question wrongly and invisibly, so it is published under Reddit's own name for it."},"weekly_contributions":{"type":"number","nullable":true,"example":1204},"created_at":{"type":"string","nullable":true,"example":"2008-01-25T05:00:00.000+0000","description":"**The community's cake day**, from the 'Created' tooltip in the rail."},"rules":{"type":"array","items":{"$ref":"#/components/schemas/RedditSubredditRule"},"description":"**The community's full numbered rule list**, each with its expanded description. Empty for a community that publishes none."},"usage_note":{"type":"string","nullable":true,"example":"From the subreddit's right-rail fragment, not from its page: the page shell carries no Open Graph, no Twitter card and no JSON-LD at all. `weekly_active_users` is Reddit's own `weekly-active-users` attribute and is NOT the subscriber count — it runs far above member totals and no subscriber figure is exposed on any surface reachable without a login. `rules` is the full numbered list with each rule's expanded description.","description":"Where this record comes from, and the one field on it that is routinely misread — restated in every response."}},"required":["id","fullname","name","display_name","prefixed_name","url","description","weekly_active_users","weekly_contributions","created_at","rules","usage_note"]},"RedditSubredditRule":{"type":"object","properties":{"number":{"type":"number","nullable":true,"example":1,"description":"The rule's position in the community's own numbered list."},"title":{"type":"string","nullable":true,"example":"Submissions must be about technology"},"description":{"type":"string","nullable":true,"example":"The full expanded text of the rule.","description":"**The rule's expanded body**, decoded from Reddit's rich-text JSON. Null when the community wrote a title and no body."}},"required":["number","title","description"]},"RedditPostDetailsResponse":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"1vay198","description":"**Reddit's base36 post id** — the `1vay198` in a permalink. This is also the value `after` takes, so walking a feed needs nothing constructed and nothing guessed."},"fullname":{"type":"string","nullable":true,"example":"t3_1vay198","description":"Reddit's own `t3_`-prefixed identifier for the post — the form its internals speak. `after` accepts this too."},"permalink":{"type":"string","nullable":true,"example":"/r/technology/comments/1vay198/example_post_title/","description":"The site-relative path to the post's comment page, as Reddit states it. `url` is the same thing absolute."},"url":{"type":"string","nullable":true,"example":"https://www.reddit.com/r/technology/comments/1vay198/example/","description":"**The post's page on reddit.com.** Note what it is NOT: the thing the post links to. That is `content_url`, and on a link post the two point at completely different places."},"title":{"type":"string","nullable":true,"example":"Example post title","description":"The post title, as submitted."},"subreddit":{"type":"string","nullable":true,"example":"technology","description":"The community the post lives in, bare. Worth reading rather than assuming it equals what you asked for — a feed can carry cross-posted rows."},"subreddit_prefixed":{"type":"string","nullable":true,"example":"r/technology","description":"The same name in Reddit's display form."},"subreddit_id":{"type":"string","nullable":true,"example":"t5_2qh16","description":"Reddit's `t5_` id for the community. Stable across a rename, which the name is not."},"author":{"type":"string","nullable":true,"example":"example_user","description":"The posting account's username, without `u/`. Deleted accounts publish as Reddit's own placeholder rather than as null."},"author_id":{"type":"string","nullable":true,"example":"t2_abc123","description":"Reddit's `t2_` id for the account. Survives a rename."},"author_icon":{"type":"string","nullable":true,"example":null,"description":"The author's avatar, when the card carried one. Null is common and means the fragment did not include it — not that the account has no avatar."},"created_at":{"type":"string","nullable":true,"example":"2026-08-17T09:14:22.000+0000","description":"**When the post was submitted, in Reddit's own ISO 8601 form** with milliseconds and a `+0000` offset. Republished verbatim rather than reformatted: rewriting a timestamp is a good way to introduce a timezone bug into data that did not have one."},"score":{"type":"number","nullable":true,"example":1284,"description":"**Net score — upvotes minus downvotes, as Reddit displays it.** The breakdown does not exist anywhere in this payload: Reddit publishes the net figure and `upvote_ratio` and nothing else, so ups and downs cannot be recovered from here by anyone, including us."},"upvote_ratio":{"type":"number","nullable":true,"example":0.94,"description":"The share of votes that were upvotes, 0-1. Together with `score` it is the whole of what Reddit says about voting on a post."},"comment_count":{"type":"number","nullable":true,"example":213,"description":"How many comments the post has. **The comments themselves are not available on this API** — see the tag description."},"award_count":{"type":"number","nullable":true,"example":0,"description":"How many awards the post carries. A count only; the award detail is not in a feed fragment."},"domain":{"type":"string","nullable":true,"example":"arstechnica.com","description":"**The host `content_url` points at, and the field that says what kind of post this is at a glance**: an external host for a link post, `i.redd.it` / `v.redd.it` for uploaded media, `self.<subreddit>` for a text post."},"content_url":{"type":"string","nullable":true,"example":"https://arstechnica.com/example-article/","description":"**What the post points at** — the outbound link on a link post, the media URL on an image or video one. Reddit does not separate those two, so neither does this; `domain` is how you tell which you have. For the post's own Reddit page, read `url`."},"post_type":{"type":"string","nullable":true,"example":"link","description":"Reddit's own classification: `link`, `image`, `video`, `gallery`, `text` or `multi_media`. It is the cheapest way to predict whether `text` and `media` will be populated."},"flair":{"type":"string","nullable":true,"example":"Society","description":"The post's flair label, when it has one. Most posts do not, and the flair element is present-but-empty on those — so null here means 'no flair' rather than 'not parsed'."},"flair_url":{"type":"string","nullable":true,"example":"/r/technology/?f=flair_name%3A%22Society%22","description":"Reddit's own link to the community filtered by this flair. Useful as a facet; not a value to key on."},"thumbnail":{"type":"string","nullable":true,"example":"https://external-preview.redd.it/example.jpg","description":"**The card thumbnail — anchored on Reddit's own thumbnail marker, not 'the first image in the card'.** That distinction is measured: on posts whose author has a custom avatar the first image is the avatar, and seven of the 24 posts in the reference capture are exactly that shape. Null on posts with no thumbnail."},"media":{"$ref":"#/components/schemas/RedditPostMedia"},"text":{"type":"string","nullable":true,"example":null,"description":"**The post body, and only self posts have one.** Measured on the same 24-post fragment: null for every post. A link post's body IS empty — the link is the content — so null here is a fact about the post rather than a gap in the parse."},"nsfw":{"type":"boolean","nullable":true,"example":null,"description":"**Tri-state, and null does NOT mean 'safe'.** `<shreddit-post>` carries no NSFW attribute at all; the only signal in the markup rides on the media lightbox element, which appears on **image posts and nothing else** — measured across a 30-post capture, present on the 10 image posts and absent from every video, gallery, link and text post.\n\nSo this is `true`/`false` on an image post and **`null` (unknown) on every other kind**, which is most of a feed. Publishing null as `false` would be asserting something Reddit never said. **Do not use this field to build a safe-content filter** — it cannot support one."},"spoiler":{"type":"boolean","example":false,"description":"Whether the post is marked as a spoiler. A real boolean: Reddit sets the attribute only when true, so absence is a measured `false`."},"locked":{"type":"boolean","example":false,"description":"Whether commenting is locked. A real boolean, same as `spoiler`."},"archived":{"type":"boolean","example":false,"description":"Whether the post is archived (too old to vote or comment on). A real boolean, same as `spoiler`."},"language":{"type":"string","nullable":true,"example":"en","description":"Reddit's own language tag for the post."},"total_comments":{"type":"number","nullable":true,"example":226,"description":"**Reddit's own comment total for the post**, read from the comment tree rather than from the page. Published beside `comment_count`, which comes off the post element — the two are Reddit's own figures from two of its own surfaces and they do not always agree."},"usage_note":{"type":"string","nullable":true,"example":"Assembled from two requests: the comment-tree fragment for the canonical permalink and the comment total, then the post page for the record itself. Both are needed — the permalink's SLUG is load-bearing (the same post id without its slug answers 500 with an empty body), and post metadata exists nowhere but the page. `score` is live and drifts between consecutive fetches. `nsfw` is null unless the post is an image post: it is not an attribute on the post element and the only signal in the markup rides on an element image posts alone carry, so null means the page did not say rather than false.","description":"How this record is assembled, and the two fields on it that are not what they look like — a live `score` and a tri-state `nsfw` — restated in every response."}},"required":["id","fullname","permalink","url","title","subreddit","subreddit_prefixed","subreddit_id","author","author_id","author_icon","created_at","score","upvote_ratio","comment_count","award_count","domain","content_url","post_type","flair","flair_url","thumbnail","media","text","nsfw","spoiler","locked","archived","language","total_comments","usage_note"],"description":"**One post's full record.** The same shape a feed row has, plus Reddit's own comment total.\n\n**`score` is live and drifts between consecutive fetches** — measured 3975 → 3979 → 3978 on three requests a minute apart. The page is not cached; treat the number as a reading rather than a value."},"RedditUserProfileResponse":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"abc123"},"fullname":{"type":"string","nullable":true,"example":"t2_abc123","description":"Reddit's `t2_` id for the account, survives a rename. It appears nowhere in the page's visible text and is read out of the page's own telemetry payload, so null here means that payload was missing rather than that the account has no id."},"name":{"type":"string","nullable":true,"example":"spez"},"prefixed_name":{"type":"string","nullable":true,"example":"u/spez"},"url":{"type":"string","nullable":true,"example":"https://www.reddit.com/user/spez/"},"description":{"type":"string","nullable":true,"example":null},"karma":{"type":"number","nullable":true,"example":940933,"description":"**Total karma, as Reddit displays it** — parsed from rendered text (`940,933`), because there is no attribute-carrying element for a profile anywhere on this page."},"post_karma":{"type":"number","nullable":true,"example":184453,"description":"**Post karma, from the tooltip beside the total.** Null whenever Reddit renders the profile without that tooltip — which happens, and is not a parse failure. `karma` can be present while this is not."},"comment_karma":{"type":"number","nullable":true,"example":756480,"description":"**Comment karma**, from the same tooltip as `post_karma`."},"contributions":{"type":"number","nullable":true,"example":1204},"created_at":{"type":"string","nullable":true,"example":"2005-06-06T00:00:00.000Z","description":"**The account's cake day**, from the page's own `<time>` element."},"icon":{"type":"string","nullable":true,"example":null},"usage_note":{"type":"string","nullable":true,"example":"Scraped from the profile page, which is the only place this data exists — there is no profile fragment endpoint and the page carries no Open Graph or JSON-LD. Karma is read from rendered text, so `karma` is the total Reddit displays and `post_karma` + `comment_karma` come from the tooltip beside it; any of the three may be null if Reddit renders the profile without that block. The page surface is materially less reliable than this site's fragments — pace requests and treat a 503 as retryable.","description":"Where this record comes from, why any of the three karma figures can be null, and that this surface is the least reliable one on the plane — restated in every response."}},"required":["id","fullname","name","prefixed_name","url","description","karma","post_karma","comment_karma","contributions","created_at","icon","usage_note"],"description":"**A user's profile — and the only record on this plane read from a rendered page rather than from a data fragment.**\n\nThere is no attribute-carrying element for a profile: karma is text, the cake day is a `<time>`, and identity comes out of the page's telemetry payload. So individual fields can be null on a page that rendered partially, and that is a page-surface fact rather than a statement about the account."},"TiktokWebProfileResponse":{"type":"object","nullable":true,"properties":{"user":{"$ref":"#/components/schemas/TiktokWebUser"},"stats":{"$ref":"#/components/schemas/TiktokWebStats"}},"required":["user","stats"]},"TiktokWebUser":{"type":"object","properties":{"unique_id":{"type":"string","nullable":true,"example":"tiktok","description":"The handle, without the leading @."},"nickname":{"type":"string","nullable":true,"example":"TikTok"},"id":{"type":"string","nullable":true,"description":"TikTok's internal user id, as a string."},"sec_uid":{"type":"string","nullable":true},"verified":{"type":"boolean","nullable":true,"example":true},"signature":{"type":"string","nullable":true,"description":"The bio text."},"avatar_large":{"type":"string","nullable":true}},"required":["unique_id","nickname","id","sec_uid","verified","signature","avatar_large"]},"TiktokWebStats":{"type":"object","properties":{"follower_count":{"type":"number","nullable":true,"example":95500000},"following_count":{"type":"number","nullable":true},"heart_count":{"type":"number","nullable":true,"example":463000000,"description":"Total likes received across all of the account's videos."},"video_count":{"type":"number","nullable":true,"example":1499}},"required":["follower_count","following_count","heart_count","video_count"]},"TiktokWebVideoResponse":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"7106594312292453675"},"desc":{"type":"string","nullable":true,"description":"The video's caption."},"create_time":{"type":"number","nullable":true,"description":"Unix seconds."},"author":{"$ref":"#/components/schemas/TiktokWebVideoAuthor"},"stats":{"$ref":"#/components/schemas/TiktokWebVideoStats"},"music":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"TikTok's own sound-track object, passed through unrenamed."},"video":{"$ref":"#/components/schemas/TiktokWebVideoMedia"}},"required":["id","desc","create_time","author","stats","music","video"]},"TiktokWebVideoAuthor":{"type":"object","properties":{"unique_id":{"type":"string","nullable":true,"example":"tiktok"},"nickname":{"type":"string","nullable":true}},"required":["unique_id","nickname"]},"TiktokWebVideoStats":{"type":"object","properties":{"play_count":{"type":"number","nullable":true,"example":578100},"digg_count":{"type":"number","nullable":true,"example":98800},"comment_count":{"type":"number","nullable":true},"share_count":{"type":"number","nullable":true}},"required":["play_count","digg_count","comment_count","share_count"]},"TiktokWebVideoMedia":{"type":"object","properties":{"cover":{"type":"string","nullable":true},"duration":{"type":"number","nullable":true,"description":"Seconds."}},"required":["cover","duration"]},"TiktokWebHashtagResponse":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"229207","description":"TikTok's numeric id for the hashtag. This is what `/tiktok/hashtag_videos` takes as `challenge_id`; nothing else produces it."},"title":{"type":"string","nullable":true,"example":"fyp","description":"The tag itself, without the leading `#`."},"description":{"type":"string","nullable":true,"description":"TikTok's own blurb for the tag; usually empty."},"is_commerce":{"type":"boolean","nullable":true},"cover":{"type":"string","nullable":true,"description":"The tag's cover image, when it has one."},"stats":{"$ref":"#/components/schemas/TiktokWebHashtagStats"},"stats_v2":{"$ref":"#/components/schemas/TiktokWebHashtagStatsV2"}},"required":["id","title","description","is_commerce","cover","stats","stats_v2"]},"TiktokWebHashtagStats":{"type":"object","properties":{"video_count":{"type":"number","nullable":true,"description":"TikTok's own `stats.videoCount`. Measured at 0 on a hashtag with billions of videos, so read `stats_v2` beside it before trusting it."},"view_count":{"type":"number","nullable":true,"example":127180300000000}},"required":["video_count","view_count"]},"TiktokWebHashtagStatsV2":{"type":"object","properties":{"video_count":{"type":"string","nullable":true,"example":"9261224100","description":"The same count TikTok sends as a string, at full precision. Strings because these exceed a safe JSON integer."},"view_count":{"type":"string","nullable":true,"example":"127180314102636"}},"required":["video_count","view_count"]},"TiktokWebHashtagVideosResponse":{"type":"object","nullable":true,"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/TiktokWebHashtagVideo"}},"count":{"type":"number","description":"`entries.length` — the size of the page you were handed, and never a count of the hashtag's catalogue. Nothing on this surface states one."},"next_cursor":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"TikTok's own cursor for the next page, passed through verbatim. Send it back as `cursor`. It is a token, not a page number — nothing can be derived from its value, and each page has to be fetched in turn."},"has_more":{"type":"boolean","description":"TikTok's own flag. On the sibling `music_videos` surface it is measured to stay `true` forever past the end of a list, and how it behaves at the end of a hashtag walk has never been measured — so stop on an empty page (`count == 0`), not on this field."}},"required":["entries","count","next_cursor","has_more"]},"TiktokWebHashtagVideo":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"7497430262331182382"},"desc":{"type":"string","nullable":true,"description":"The video's caption."},"create_time":{"type":"number","nullable":true,"description":"Unix seconds."},"author":{"$ref":"#/components/schemas/TiktokWebListAuthor"},"stats":{"$ref":"#/components/schemas/TiktokWebVideoStats"},"stats_v2":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"TikTok's own string-valued twin of `stats`, passed through unrenamed. It is the exact one where `stats` has been rounded — measured on the same item, `stats.collectCount` 192600 against `statsV2.collectCount` \"192559\" — and it carries fields `stats` has none of, such as saves and reposts."},"hashtags":{"type":"array","items":{"type":"string"},"description":"Every tag on the video, as plain titles. Empty when it carries none."},"video":{"$ref":"#/components/schemas/TiktokWebListVideoMedia"}},"required":["id","desc","create_time","author","stats","stats_v2","hashtags","video"]},"TiktokWebListAuthor":{"type":"object","properties":{"id":{"type":"string","nullable":true,"description":"TikTok's internal user id, as a string."},"unique_id":{"type":"string","nullable":true,"example":"tiktok"},"nickname":{"type":"string","nullable":true},"sec_uid":{"type":"string","nullable":true},"verified":{"type":"boolean","nullable":true}},"required":["id","unique_id","nickname","sec_uid","verified"]},"TiktokWebListVideoMedia":{"type":"object","properties":{"cover":{"type":"string","nullable":true},"duration":{"type":"number","nullable":true,"description":"Seconds."},"ratio":{"type":"string","nullable":true,"example":"540p","description":"TikTok's own quality label for the item."}},"required":["cover","duration","ratio"]},"TiktokWebMusicVideosResponse":{"type":"object","nullable":true,"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/TiktokWebMusicVideo"}},"count":{"type":"number","description":"`entries.length` — the size of the page you were handed. There is no total on this surface, so it is never a count of how many videos use the sound. **`count == 0` is the end of the walk.**"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"TikTok's own cursor for the next page, passed through verbatim. Send it back as `cursor`. It is a token, not a page number — nothing can be derived from its value, and each page has to be fetched in turn."},"has_more":{"type":"boolean","description":"TikTok's own flag, and it LIES here: a sound with 6 videos answered `true` on its first page and on three consecutive empty pages after it. It is forwarded because TikTok sends it — do not loop on it."}},"required":["entries","count","next_cursor","has_more"]},"TiktokWebMusicVideo":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"7497430262331182382"},"desc":{"type":"string","nullable":true,"description":"The video's caption."},"create_time":{"type":"number","nullable":true,"description":"Unix seconds."},"author":{"$ref":"#/components/schemas/TiktokWebListAuthor"},"stats":{"$ref":"#/components/schemas/TiktokWebVideoStats"},"stats_v2":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"TikTok's own string-valued twin of `stats`, passed through unrenamed. It is the exact one where `stats` has been rounded — measured on the same item, `stats.collectCount` 192600 against `statsV2.collectCount` \"192559\" — and it carries fields `stats` has none of, such as saves and reposts."},"hashtags":{"type":"array","items":{"type":"string"},"description":"Every tag on the video, as plain titles. Empty when it carries none."},"video":{"$ref":"#/components/schemas/TiktokWebListVideoMedia"},"music":{"$ref":"#/components/schemas/TiktokWebListMusic"}},"required":["id","desc","create_time","author","stats","stats_v2","hashtags","video","music"]},"TiktokWebListMusic":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"6704931455228725250","description":"Pass this to `/tiktok/music_videos` as `music_id`."},"title":{"type":"string","nullable":true,"example":"I Want to Be Your Man"},"author_name":{"type":"string","nullable":true,"example":"Roger"}},"required":["id","title","author_name"]},"Transcript":{"type":"object","nullable":true,"properties":{"language":{"type":"string","nullable":true,"description":"Detected ISO 639-1 code, or null when there is no speech."},"language_probability":{"type":"number","nullable":true},"duration":{"type":"number","description":"Media duration in seconds."},"has_audio":{"type":"boolean","description":"False for a silent creative, which returns an empty transcript rather than an error."},"text":{"type":"string"},"segments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"start":{"type":"number"},"end":{"type":"number"},"text":{"type":"string"},"no_speech_prob":{"type":"number","description":"Model probability that this segment contains no speech. A high value with low `avg_logprob` indicates unreliable text."},"avg_logprob":{"type":"number"}},"required":["id","start","end","text","no_speech_prob","avg_logprob"]}},"words":{"type":"array","items":{"type":"object","properties":{"word":{"type":"string"},"start":{"type":"number"},"end":{"type":"number"},"probability":{"type":"number"}},"required":["word","start","end","probability"]},"description":"Word-level timestamps in seconds. This is what makes a first-3-seconds hook extractable."},"model":{"type":"string"},"media":{"$ref":"#/components/schemas/MediaFacts"},"timing":{"$ref":"#/components/schemas/MediaTiming"},"limits":{"$ref":"#/components/schemas/MediaLimits"}},"required":["language","language_probability","duration","has_audio","text","segments","words","model","media","timing","limits"]},"MediaFacts":{"type":"object","properties":{"bytes":{"type":"number"},"content_type":{"type":"string"},"container":{"type":"string","nullable":true},"width":{"type":"number","nullable":true},"height":{"type":"number","nullable":true},"has_audio":{"type":"boolean"},"has_video":{"type":"boolean"}},"required":["bytes","content_type","container","width","height","has_audio","has_video"],"description":"What the file turned out to be. The source URL is deliberately not echoed back — a signed CDN link is a credential."},"MediaTiming":{"type":"object","properties":{"total_seconds":{"type":"number"},"compute_seconds":{"type":"number"}},"required":["total_seconds","compute_seconds"],"description":"`compute_seconds` is the analysis alone; `total_seconds` includes the download."},"MediaLimits":{"type":"object","properties":{"max_duration_s":{"type":"number"},"max_bytes":{"type":"number"}},"required":["max_duration_s","max_bytes"],"description":"Maximum duration and file size applied to this request, for filtering future media before submission."},"TranscribeRequest":{"type":"object","properties":{"url":{"type":"string","maxLength":4096,"format":"uri","example":"https://video.example.com/creative.mp4","description":"Public http(s) URL of one video or audio file. Ad-library creative URLs expire — fetch the ad and analyse it in the same run."},"proxy_tier":{"type":"string","enum":["none","datacenter","residential"],"default":"none","example":"none","description":"Connection tier used to download the media file. `none` uses a direct connection."},"language":{"type":"string","pattern":"^[a-z]{2}$","example":"en","description":"Force a language instead of detecting it. Detection costs nothing extra, so set this only when you already know."}},"required":["url"]},"SceneList":{"type":"object","nullable":true,"properties":{"scene_count":{"type":"number"},"scenes":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"start":{"type":"number"},"end":{"type":"number"},"duration":{"type":"number"},"motion_score":{"type":"number","nullable":true,"description":"Mean frame-to-frame change inside the scene, on the detector's own 0-255 scale."},"motion":{"type":"string","enum":["static","moderate","dynamic","unknown"],"description":"How much the picture moves inside the shot, bucketed from `motion_score`. Not camera framing — close-up/medium/wide needs a vision model and is not inferable from a cut list."}},"required":["index","start","end","duration","motion_score","motion"]}},"fps":{"type":"number"},"duration":{"type":"number"},"threshold":{"type":"number"},"media":{"$ref":"#/components/schemas/MediaFacts"},"timing":{"$ref":"#/components/schemas/MediaTiming"},"limits":{"$ref":"#/components/schemas/MediaLimits"}},"required":["scene_count","scenes","fps","duration","threshold","media","timing","limits"]},"ScenesRequest":{"type":"object","properties":{"url":{"type":"string","maxLength":4096,"format":"uri","example":"https://video.example.com/creative.mp4","description":"Public http(s) URL of one video or audio file. Ad-library creative URLs expire — fetch the ad and analyse it in the same run."},"proxy_tier":{"type":"string","enum":["none","datacenter","residential"],"default":"none","example":"none","description":"Connection tier used to download the media file. `none` uses a direct connection."},"threshold":{"type":"number","minimum":5,"maximum":100,"default":27,"example":27,"description":"Cut sensitivity. Lower finds more cuts; 27 is the detector's default and suits fast-cut ad creative."}},"required":["url"]},"Teardown":{"type":"object","nullable":true,"properties":{"hook":{"type":"object","properties":{"text":{"type":"string","nullable":true},"type":{"type":"string","enum":["question","problem","claim","social_proof","demonstration","offer","other","none"]},"source":{"type":"string","enum":["spoken","ad_copy","none"]}},"required":["text","type","source"],"description":"What the first 3 seconds do. `source` says whether it came from speech or from the published copy; `none` means the creative opens silent and the ad published no copy."},"script_structure":{"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","enum":["hook","problem","solution","proof","offer","cta","other"]},"start":{"type":"number","nullable":true},"end":{"type":"number","nullable":true},"summary":{"type":"string"}},"required":["stage","start","end","summary"]}},"offer":{"type":"object","properties":{"present":{"type":"boolean"},"description":{"type":"string","nullable":true},"discount":{"type":"string","nullable":true},"urgency":{"type":"string","nullable":true}},"required":["present","description","discount","urgency"]},"cta":{"type":"object","properties":{"present":{"type":"boolean"},"text":{"type":"string","nullable":true},"action":{"type":"string","enum":["shop","sign_up","download","learn_more","book","contact","other","none"]}},"required":["present","text","action"]},"claims":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"source":{"type":"string","enum":["spoken","ad_copy"]},"type":{"type":"string","enum":["performance","price","guarantee","comparison","testimonial","other"]}},"required":["text","source","type"]},"description":"Claims supported by the supplied transcript or copy. `source` identifies the supporting input; text visible only on screen is excluded."},"language":{"type":"string","nullable":true},"confidence":{"type":"string","enum":["high","medium","low"],"description":"How much of the teardown the evidence actually supports. `low` on a creative with no reliable speech and no copy."},"input":{"$ref":"#/components/schemas/TeardownInputFacts"}},"required":["hook","script_structure","offer","cta","claims","language","confidence","input"]},"TeardownInputFacts":{"type":"object","properties":{"transcript_chars":{"type":"number"},"segments_used":{"type":"number"},"segments_dropped":{"type":"number","description":"Segments excluded because they were marked as non-speech with low confidence."},"scenes":{"type":"number"},"hook_window_seconds":{"type":"number"}},"required":["transcript_chars","segments_used","segments_dropped","scenes","hook_window_seconds"],"description":"What the analysis was actually run on, so a thin teardown is explainable without re-running it."},"TeardownRequest":{"type":"object","properties":{"transcript":{"type":"object","properties":{"text":{"type":"string","maxLength":20000,"description":"The spoken words. An empty string is valid and produces a copy-only teardown."},"language":{"type":"string","nullable":true,"maxLength":8},"segments":{"type":"array","items":{"type":"object","properties":{"start":{"type":"number","minimum":0},"end":{"type":"number","minimum":0},"text":{"type":"string","maxLength":2000},"no_speech_prob":{"type":"number","minimum":0,"maximum":1,"description":"Value from the transcript response. Segments marked as non-speech with low confidence are excluded from analysis."},"avg_logprob":{"type":"number"}},"required":["start","end","text"]},"maxItems":400,"description":"Timed segments from /v1/media/transcribe. Supplying them is what enables low-confidence filtering."},"words":{"type":"array","items":{"type":"object","properties":{"word":{"type":"string","maxLength":200},"start":{"type":"number","minimum":0},"end":{"type":"number","minimum":0}},"required":["word","start","end"]},"maxItems":4000,"description":"Word timings from /v1/media/transcribe. Supplying them is what makes the first-3-second hook exact rather than approximate."}},"required":["text"]},"scenes":{"type":"array","items":{"type":"object","properties":{"start":{"type":"number","minimum":0},"end":{"type":"number","minimum":0},"motion":{"type":"string","enum":["static","moderate","dynamic","unknown"]}},"required":["start","end"]},"maxItems":200,"description":"Cut list from /v1/media/scenes."},"ad":{"type":"object","properties":{"advertiser":{"type":"string","maxLength":200},"platform":{"type":"string","enum":["meta","tiktok","google","linkedin","other"]},"headline":{"type":"string","maxLength":1000},"body":{"type":"string","maxLength":5000},"cta_text":{"type":"string","maxLength":200},"landing_url":{"type":"string","maxLength":2000}},"default":{},"description":"Whatever the ad library published. Everything is optional — an ad with no copy is analysed from its transcript alone."}},"required":["transcript"]},"RedNoteFeedResponse":{"type":"object","nullable":true,"properties":{"cards":{"type":"array","items":{"$ref":"#/components/schemas/RedNoteFeedCard"},"description":"A random sample of the public explore feed. Repeated calls return different notes — this is not a page, and there is no cursor."},"count":{"type":"number","description":"`cards.length`."}},"required":["cards","count"]},"RedNoteFeedCard":{"type":"object","properties":{"id":{"type":"string","example":"64a1b2c3d4e5f60718293a4b","description":"Pass this to `/v1/rednote/note` as `note_id`."},"xsec_token":{"type":"string","nullable":true,"description":"Pass with this card’s `id` to `/v1/rednote/note`."},"type":{"type":"string","nullable":true,"example":"video"},"title":{"type":"string","nullable":true},"cover_url":{"type":"string","nullable":true},"video_duration_s":{"type":"number","nullable":true},"user":{"$ref":"#/components/schemas/RedNoteFeedUser"},"liked_count":{"$ref":"#/components/schemas/RedNoteCount"}},"required":["id","xsec_token","type","title","cover_url","video_duration_s","user","liked_count"]},"RedNoteFeedUser":{"type":"object","properties":{"nickname":{"type":"string","nullable":true},"user_id":{"type":"string","nullable":true},"xsec_token":{"type":"string","nullable":true}},"required":["nickname","user_id","xsec_token"]},"RedNoteCount":{"type":"object","nullable":true,"properties":{"raw":{"type":"string","nullable":true,"example":"10万+"},"value":{"type":"number","nullable":true,"example":100000},"approx":{"type":"boolean","example":true,"description":"`true` when `raw` was a floor (\"N万+\"), not an exact count."}},"required":["raw","value","approx"]},"RedNoteNoteResponse":{"type":"object","nullable":true,"properties":{"note_id":{"type":"string","example":"64a1b2c3d4e5f60718293a4b"},"type":{"type":"string","nullable":true,"example":"normal"},"title":{"type":"string","nullable":true},"desc":{"type":"string","nullable":true},"time":{"type":"number","nullable":true,"description":"Unix milliseconds."},"last_update_time":{"type":"number","nullable":true,"description":"Unix milliseconds."},"user":{"$ref":"#/components/schemas/RedNoteNoteUser"},"liked_count":{"$ref":"#/components/schemas/RedNoteCount"},"collected_count":{"$ref":"#/components/schemas/RedNoteCount"},"comment_count":{"$ref":"#/components/schemas/RedNoteCount"},"share_count":{"$ref":"#/components/schemas/RedNoteCount"},"image_list":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}},"description":"RedNote's own image objects, passed through unrenamed."},"video":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"RedNote's own video object when the note carries one."},"tag_list":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}},"description":"RedNote's own tag objects, passed through unrenamed."}},"required":["note_id","type","title","desc","time","last_update_time","user","liked_count","collected_count","comment_count","share_count","image_list","video","tag_list"]},"RedNoteNoteUser":{"type":"object","properties":{"nickname":{"type":"string","nullable":true},"user_id":{"type":"string","nullable":true},"xsec_token":{"type":"string","nullable":true}},"required":["nickname","user_id","xsec_token"]},"RedNoteV2ProfileResponse":{"type":"object","nullable":true,"properties":{"user_id":{"type":"string","example":"5f1a2b3c4d5e6f708192a3b4"},"nickname":{"type":"string","example":"Ada"},"red_id":{"type":"string","nullable":true,"example":"5696227057","description":"The short display handle. A DIFFERENT id space from `user_id` — it is not interchangeable with it."},"gender":{"type":"number","nullable":true,"description":"RedNote's own integer code, passed through unread: the mapping to a label has never been confirmed, so guessing one here would be invention."},"ip_location":{"type":"string","nullable":true,"example":"上海","description":"The region RedNote itself displays on the profile."},"desc":{"type":"string","nullable":true,"description":"The bio text."},"avatar_url":{"type":"string","nullable":true},"follower_count":{"$ref":"#/components/schemas/RedNoteV2Count"},"following_count":{"$ref":"#/components/schemas/RedNoteV2Count"},"likes_collected_count":{"allOf":[{"$ref":"#/components/schemas/RedNoteV2Count"},{"description":"Likes and saves combined, as RedNote itself reports it."}]},"tabs":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/RedNoteV2ProfileTabCard"}},"description":"The profile's note tabs, in RedNote's own order — the first is the user's notes. **The others are usually empty, and that is the account's own privacy setting, not a gap here**: saved collections are private by default for anyone but their owner."}},"required":["user_id","nickname","red_id","gender","ip_location","desc","avatar_url","follower_count","following_count","likes_collected_count","tabs"]},"RedNoteV2Count":{"type":"object","nullable":true,"properties":{"raw":{"type":"string","nullable":true,"example":"10万+"},"value":{"type":"number","nullable":true,"example":100000},"approx":{"type":"boolean","example":true,"description":"Whether the value is a lower bound rather than an exact count."}},"required":["raw","value","approx"]},"RedNoteV2ProfileTabCard":{"type":"object","properties":{"id":{"type":"string","nullable":true,"description":"Usually `null`: RedNote does not put note ids on profile-tab cards the way it does on feed cards. This tab is for titles, covers and counts — use `/v1/rednote/feed` when you need an id to look a note up with."},"xsec_token":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"cover_url":{"type":"string","nullable":true},"liked_count":{"$ref":"#/components/schemas/RedNoteV2Count"}},"required":["id","xsec_token","title","cover_url","liked_count"]},"RedNoteV2ProductResponse":{"type":"object","nullable":true,"properties":{"item_id":{"type":"string","example":"64a1b2c3d4e5f60718293a4b"},"name":{"type":"string","nullable":true},"price":{"type":"number","nullable":true,"example":78.88,"description":"Displayed product price in Chinese yuan (CNY)."},"sold_text":{"type":"string","nullable":true,"example":"已售73","description":"RedNote's own sales-count line for the item, kept as written — it is free text, not a number."},"seller":{"$ref":"#/components/schemas/RedNoteV2Seller"},"template":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional product data, such as images, variants, FAQs, and coupons. Fields vary by product."}},"required":["item_id","name","price","sold_text","seller","template"]},"RedNoteV2Seller":{"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"logo_url":{"type":"string","nullable":true},"link":{"type":"string","nullable":true},"fans_text":{"type":"string","nullable":true,"example":"粉丝数 4129","description":"The shop's own follower line, kept as written rather than parsed into a number."},"sales_text":{"type":"string","nullable":true,"example":"已售2316","description":"The shop's own sales line, kept as written."}},"required":["name","id","logo_url","link","fans_text","sales_text"]},"WeiboV2PostDetailResponse":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"5327962377289859"},"text":{"type":"string","nullable":true,"description":"The post body, with Weibo's own inline HTML kept as sent."},"text_length":{"type":"number","nullable":true},"created_at":{"type":"string","nullable":true,"description":"Weibo's own timestamp string, passed through unparsed."},"source":{"type":"string","nullable":true,"description":"The client the post was published from."},"pic_ids":{"type":"array","items":{"type":"string"},"description":"Image ids attached to the post; empty when there are none."},"reposts_count":{"type":"number","nullable":true},"comments_count":{"type":"number","nullable":true},"attitudes_count":{"type":"number","nullable":true},"is_video":{"type":"boolean","description":"`true` when the post carries a playable video stream. This is what a video lookup answers with — there is no separate video endpoint."},"video_stream_url":{"type":"string","nullable":true},"video_stream_url_hd":{"type":"string","nullable":true},"video_duration_seconds":{"type":"number","nullable":true,"description":"Seconds. Weibo rounds this differently on its own two routes, so treat it as approximate."},"user":{"$ref":"#/components/schemas/WeiboV2User"}},"required":["id","text","text_length","created_at","source","pic_ids","reposts_count","comments_count","attitudes_count","is_video","video_stream_url","video_stream_url_hd","video_duration_seconds","user"]},"WeiboV2User":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"1699432410","description":"Weibo's own user id, as a string."},"screen_name":{"type":"string","nullable":true,"example":"新华社"},"profile_image_url":{"type":"string","nullable":true},"avatar_hd":{"type":"string","nullable":true},"verified":{"type":"boolean","nullable":true},"verified_reason":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"followers_count":{"type":"number","nullable":true}},"required":["id","screen_name","profile_image_url","avatar_hd","verified","verified_reason","location","followers_count"]},"WeiboV2HotSearchResponse":{"type":"object","nullable":true,"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/WeiboV2HotSearchEntry"},"description":"The board as it stands right now. A snapshot, not a paged list: there is no cursor and no second page."},"count":{"type":"number","description":"`entries.length`."}},"required":["entries","count"]},"WeiboV2HotSearchEntry":{"type":"object","properties":{"kind":{"type":"string","enum":["ranked","pinned","ad"],"description":"`ranked` is an ordinary board entry, `pinned` the single fixed top entry, `ad` a paid placement. Paid and pinned entries carry no rank or heat — they are on the board for a reason other than volume."},"rank":{"type":"number","nullable":true,"example":1},"word":{"type":"string","example":"奥运会开幕式"},"heat":{"type":"number","nullable":true,"description":"Weibo's own heat score for the entry."},"label":{"type":"string","nullable":true,"example":"新","description":"Weibo's own badge on the entry, when it carries one."}},"required":["kind","rank","word","heat","label"]},"WeiboV2CommentsResponse":{"type":"object","nullable":true,"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/WeiboV2Comment"}},"count":{"type":"number","description":"`entries.length`."},"total_number":{"type":"number","nullable":true,"description":"Weibo's own count of comments on the post."},"next_cursor_hint":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"Weibo's own `max_id`, passed through UNVERIFIED: replaying it has never been measured to walk a second page here, so it is a hint, not a cursor. This endpoint returns the first page only."}},"required":["entries","count","total_number","next_cursor_hint"]},"WeiboV2Comment":{"type":"object","properties":{"id":{"type":"string","description":"The comment id, as a string."},"text":{"type":"string","nullable":true,"description":"The comment body with Weibo's inline HTML."},"text_raw":{"type":"string","nullable":true,"description":"The same body, plain."},"created_at":{"type":"string","nullable":true},"like_count":{"type":"number","nullable":true},"floor_number":{"type":"number","nullable":true},"source":{"type":"string","nullable":true},"user":{"$ref":"#/components/schemas/WeiboV2User"}},"required":["id","text","text_raw","created_at","like_count","floor_number","source","user"]},"WeiboV2LikesResponse":{"type":"object","nullable":true,"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/WeiboV2Like"}},"count":{"type":"number","description":"`entries.length`."},"total_number":{"type":"number","nullable":true,"description":"Weibo's own count of likes on the post."}},"required":["entries","count","total_number"]},"WeiboV2Like":{"type":"object","properties":{"attitude_type":{"type":"number","nullable":true,"description":"Weibo's own attitude code, passed through unlabelled — only one value has ever been observed, so a mapping to a named reaction would be invented rather than measured."},"user":{"$ref":"#/components/schemas/WeiboV2User"}},"required":["attitude_type","user"]},"WeiboV2ProfileResponse":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"1699432410"},"screen_name":{"type":"string","example":"新华社"},"description":{"type":"string","nullable":true,"description":"The bio text."},"location":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true,"description":"Weibo's own code, passed through unread."},"verified":{"type":"boolean","nullable":true},"verified_type":{"type":"number","nullable":true},"verified_reason":{"type":"string","nullable":true},"followers_count":{"type":"number","nullable":true},"friends_count":{"type":"number","nullable":true,"description":"Accounts this profile follows."},"statuses_count":{"type":"number","nullable":true},"profile_image_url":{"type":"string","nullable":true},"avatar_hd":{"type":"string","nullable":true},"status_total_counter":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Weibo's own pre-formatted totals (e.g. \"9.46亿\"), kept verbatim rather than parsed into numbers."}},"required":["id","screen_name","description","location","gender","verified","verified_type","verified_reason","followers_count","friends_count","statuses_count","profile_image_url","avatar_hd","status_total_counter"]},"WeiboV2SearchTopicsResponse":{"type":"object","nullable":true,"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/WeiboV2Topic"}},"count":{"type":"number","description":"`entries.length`."}},"required":["entries","count"]},"WeiboV2Topic":{"type":"object","properties":{"title":{"type":"string","example":"#奥运会#"},"description":{"type":"string","nullable":true},"image":{"type":"string","nullable":true},"page_id":{"type":"string","nullable":true,"description":"Weibo's own id for the topic page."}},"required":["title","description","image","page_id"]},"WeiboV2SearchUsersResponse":{"type":"object","nullable":true,"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/WeiboV2SearchUser"}},"count":{"type":"number","description":"`entries.length`."}},"required":["entries","count"]},"WeiboV2SearchUser":{"type":"object","properties":{"id":{"type":"string","nullable":true},"screen_name":{"type":"string","example":"新华社"},"description":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"profile_image_url":{"type":"string","nullable":true},"verified":{"type":"boolean","nullable":true},"followers_count":{"type":"number","nullable":true}},"required":["id","screen_name","description","location","profile_image_url","verified","followers_count"]},"WeiboV2VideosUserResponse":{"type":"object","nullable":true,"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/WeiboV2UserVideo"}},"count":{"type":"number","description":"`entries.length`."},"next_cursor":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"Weibo's own cursor for the next page, passed through verbatim. Send it back as `cursor`; it is an opaque token, not a page number, and nothing else can be derived from it."}},"required":["entries","count","next_cursor"]},"WeiboV2UserVideo":{"type":"object","properties":{"mid":{"type":"string","nullable":true,"description":"Pass this to `/weibo-v2/posts/detail` as `mid`."},"mblogid":{"type":"string","description":"Weibo's short id for the post, as it appears in its URL."},"text_raw":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"comments_count":{"type":"number","nullable":true},"reposts_count":{"type":"number","nullable":true},"attitudes_count":{"type":"number","nullable":true},"video_stream_url":{"type":"string","nullable":true},"video_duration_seconds":{"type":"number","nullable":true}},"required":["mid","mblogid","text_raw","created_at","comments_count","reposts_count","attitudes_count","video_stream_url","video_duration_seconds"]},"OzonSearchResponse":{"type":"object","nullable":true,"properties":{"query":{"type":"string","nullable":true,"example":"iphone"},"category":{"type":"string","nullable":true,"example":"https://www.ozon.ru/category/smartfony-15502/apple-26303000/","description":"The category Ozon resolved the query to, as an absolute URL."},"category_path":{"type":"string","nullable":true,"example":"/category/smartfony-15502/apple-26303000/","description":"The same category as a path — pass this to /ozon/products/category."},"pages_fetched":{"type":"number","description":"Number of Ozon listing pages retrieved for this response."},"next_page":{"type":"number","nullable":true,"example":4,"description":"Pass this as `page` to /products/category, together with `category_path`, to continue where this response stopped. Null means the listing is finished — so this, not the product count, is how to tell whether another call is worth making."},"count":{"type":"number","example":24},"products":{"type":"array","items":{"$ref":"#/components/schemas/OzonProduct"}}},"required":["query","category","category_path","pages_fetched","next_page","count","products"]},"OzonProduct":{"type":"object","properties":{"sku":{"type":"number","nullable":true,"example":3755501937,"description":"Ozon's own numeric product id."},"title":{"type":"string","nullable":true,"example":"Apple Смартфон iPhone 17 Pro Max"},"url":{"type":"string","nullable":true,"example":"https://www.ozon.ru/product/apple-smartfon-iphone-3755501937/","description":"Absolute product URL, with Ozon's per-response tracking token removed."},"image":{"type":"string","nullable":true,"example":"https://ir.ozone.ru/s3/multimedia-1-4/8542532020.jpg"},"price":{"$ref":"#/components/schemas/OzonMoney"},"original_price":{"allOf":[{"$ref":"#/components/schemas/OzonMoney"},{"description":"The pre-discount price. Null fields when the product is not discounted."}]},"discount_percent":{"type":"number","nullable":true,"example":-82,"description":"Negative for a reduction, matching how Ozon signs it."},"rating":{"type":"number","nullable":true,"example":4.7,"description":"0-5. Null when the product has no rating yet."},"reviews_count":{"type":"number","nullable":true,"example":128},"is_adult":{"type":"boolean","example":false}},"required":["sku","title","url","image","price","original_price","discount_percent","rating","reviews_count","is_adult"]},"OzonMoney":{"type":"object","properties":{"amount":{"type":"number","nullable":true,"example":194632,"description":"The numeric value. Null when Ozon's display string could not be parsed — `raw` still carries what was served, so nothing is lost."},"currency":{"type":"string","nullable":true,"example":"RUB","description":"ISO code inferred from the currency glyph."},"raw":{"type":"string","nullable":true,"example":"194 632 ₽","description":"Exactly as Ozon rendered it. Note the thousands separator is a no-break space, not an ordinary one."}},"required":["amount","currency","raw"]},"OzonCategoryResponse":{"type":"object","nullable":true,"properties":{"category":{"type":"string","nullable":true},"category_path":{"type":"string","nullable":true},"pages_fetched":{"type":"number"},"start_page":{"type":"number","example":1,"description":"The page this response started from."},"next_page":{"type":"number","nullable":true,"example":7,"description":"Pass back as `page` to continue. Null when the listing is finished."},"count":{"type":"number"},"products":{"type":"array","items":{"$ref":"#/components/schemas/OzonProduct"}}},"required":["category","category_path","pages_fetched","start_page","next_page","count","products"]},"OzonProductDetail":{"type":"object","nullable":true,"properties":{"sku":{"type":"number","nullable":true,"example":3755501937},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"brand":{"type":"string","nullable":true,"example":"Apple"},"description":{"type":"string","nullable":true,"description":"The seller's full product copy. Absent on some listings."},"price":{"allOf":[{"$ref":"#/components/schemas/OzonMoney"},{"description":"The standard price, paid without an Ozon card."}]},"card_price":{"allOf":[{"$ref":"#/components/schemas/OzonMoney"},{"description":"The Ozon-card price. This is the figure the search and category listings show, so it is the one to compare a listing row against."}]},"original_price":{"allOf":[{"$ref":"#/components/schemas/OzonMoney"},{"description":"The pre-discount price. Null fields when not discounted."}]},"rating":{"type":"number","nullable":true,"example":4.7},"reviews_count":{"type":"number","nullable":true,"example":15},"in_stock":{"type":"boolean","nullable":true,"description":"Null when the page states no availability at all."},"images":{"type":"array","items":{"type":"string"},"description":"Every gallery image, in the order Ozon shows them."},"characteristics":{"type":"array","items":{"$ref":"#/components/schemas/OzonCharacteristic"}},"breadcrumbs":{"type":"array","items":{"$ref":"#/components/schemas/OzonBreadcrumb"}},"category_path":{"type":"string","nullable":true,"example":"/category/smartfony-15502/","description":"The deepest category in the breadcrumb trail, ready to pass to /products/category."},"variants":{"type":"array","items":{"$ref":"#/components/schemas/OzonVariant"}},"seller_name":{"type":"string","nullable":true,"example":"Мирный Атом"},"seller_url":{"type":"string","nullable":true},"seller_id":{"type":"string","nullable":true,"example":"4289687"}},"required":["sku","title","url","brand","description","price","card_price","original_price","rating","reviews_count","in_stock","images","characteristics","breadcrumbs","category_path","variants","seller_name","seller_url","seller_id"]},"OzonCharacteristic":{"type":"object","properties":{"name":{"type":"string","example":"Диагональ экрана, дюймы"},"value":{"type":"string","example":"6.9"}},"required":["name","value"]},"OzonBreadcrumb":{"type":"object","properties":{"name":{"type":"string","example":"Смартфоны"},"url":{"type":"string","nullable":true,"example":"https://www.ozon.ru/category/smartfony-15502/"}},"required":["name","url"]},"OzonVariant":{"type":"object","properties":{"aspect":{"type":"string","example":"Встроенная память","description":"What this variant varies on — colour, capacity, or condition. Without it a flat list of sibling SKUs loses which axis each is on."},"sku":{"type":"number","nullable":true,"example":3755502198},"label":{"type":"string","nullable":true,"example":"2 ТБ"},"price":{"$ref":"#/components/schemas/OzonMoney"},"url":{"type":"string","nullable":true},"in_stock":{"type":"boolean"},"is_current":{"type":"boolean","description":"True for the variant this product page is showing."}},"required":["aspect","sku","label","price","url","in_stock","is_current"]},"WellfoundJobSearchResponse":{"type":"object","nullable":true,"properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/WellfoundJob"},"description":"Matching job rows. Empty when the query matched nothing."},"startups":{"type":"array","items":{"$ref":"#/components/schemas/WellfoundStartup"},"description":"Every distinct company seen across the pages walked, deduplicated. The same objects are also attached to their jobs, so this is a convenience index rather than extra data."},"count":{"type":"integer","minimum":0,"example":40,"description":"How many job rows are returned."},"has_more":{"type":"boolean","example":true,"description":"Whether more rows were available beyond the ones returned. False means the walk stopped because the source ran out — check `ended_at_source_limit` to tell that apart from simply having satisfied `count`."},"ended_at_source_limit":{"type":"boolean","example":false,"description":"True when Wellfound's own result set ran out before `count` was met. It is not an error and not a block: it means the site has no more rows for this query, so retrying or paging further returns nothing new. Wellfound signals this by silently serving page 1 again, which is why it has to be reported rather than inferred from a short list."},"stop_reason":{"type":"string","enum":["count_reached","exhausted","source_limit","page_budget","blocked"],"example":"count_reached","description":"Why paging stopped. `count_reached`: your `count` was satisfied and more rows exist. `exhausted`: a page produced nothing new. `source_limit`: Wellfound served page 1 again, its end-of-results signal. `page_budget`: our own page cap was hit before the source ran out. `blocked`: the walk was cut short upstream, so the result is partial and worth retrying."}},"required":["jobs","startups","count","has_more","ended_at_source_limit"]},"WellfoundJob":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"3061448"},"title":{"type":"string","nullable":true,"example":"Senior Software Engineer"},"slug":{"type":"string","nullable":true,"example":"senior-software-engineer","description":"The slug half of the job URL. Pass it with `id` to the job detail endpoint to reproduce the exact URL a browser would request."},"description":{"type":"string","nullable":true,"description":"The full posting body, already on the search row — a search result here does not need a follow-up detail call to be readable."},"compensation":{"type":"string","nullable":true,"example":"$110k – $155k","description":"A display string exactly as Wellfound renders it, including its en-dash and the k suffix. It is not parsed into numbers: the same field also carries equity ranges and free text, so a numeric reading would be wrong more often than it is useful. The job detail endpoint's `baseSalary` is the structured version."},"jobType":{"type":"string","nullable":true,"example":"full-time"},"remote":{"type":"boolean","nullable":true},"remoteConfig":{"nullable":true,"description":"Wellfound's structured remote policy for the posting. Forwarded verbatim — its shape varies by posting and is not asserted here."},"locationNames":{"type":"array","nullable":true,"items":{"type":"string"},"example":["San Francisco","New York City"]},"acceptedRemoteLocationNames":{"type":"array","nullable":true,"items":{"type":"string"},"description":"Where a remote hire may sit. Distinct from `locationNames`, which is where the role itself is anchored."},"primaryRoleTitle":{"type":"string","nullable":true,"example":"Software Engineer"},"yearsExperienceMin":{"type":"number","nullable":true,"example":3},"yearsExperienceMax":{"type":"number","nullable":true,"example":7},"liveStartAt":{"anyOf":[{"type":"number"},{"type":"string"},{"nullable":true}],"example":1755216000,"description":"When the posting went live, as a unix timestamp."},"atsSource":{"type":"string","nullable":true,"example":"AtsIntegration::Greenhouse::Listing","description":"Which applicant-tracking system the hiring company runs, as Wellfound names it. This is a free company-to-ATS index and is often the most valuable field on the row — it is carried through unchanged, name included."},"startup":{"type":"object","nullable":true,"properties":{"name":{"type":"string","example":"Anthropic"},"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"1234567"},"slug":{"type":"string","nullable":true,"example":"anthropic","description":"Company slug, as used in Wellfound's own /company/ URLs."},"logoUrl":{"type":"string","nullable":true},"highConcept":{"type":"string","nullable":true,"example":"AI safety and research company","description":"Wellfound's one-line pitch for the company."},"companySize":{"type":"string","nullable":true,"example":"SIZE_51_200"},"badges":{"type":"array","nullable":true,"items":{"nullable":true},"description":"Wellfound's own company badges (funding stage, growth signals). Forwarded verbatim; the badge vocabulary is not a contract we own."}},"required":["name"],"additionalProperties":{"nullable":true},"description":"The hiring company, attached where the page links the two. Null when Wellfound's own cache did not carry the company for this row; the posting is still real, so it is returned either way."}},"required":["id"],"additionalProperties":{"nullable":true}},"WellfoundStartup":{"type":"object","properties":{"name":{"type":"string","example":"Anthropic"},"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":"1234567"},"slug":{"type":"string","nullable":true,"example":"anthropic","description":"Company slug, as used in Wellfound's own /company/ URLs."},"logoUrl":{"type":"string","nullable":true},"highConcept":{"type":"string","nullable":true,"example":"AI safety and research company","description":"Wellfound's one-line pitch for the company."},"companySize":{"type":"string","nullable":true,"example":"SIZE_51_200"},"badges":{"type":"array","nullable":true,"items":{"nullable":true},"description":"Wellfound's own company badges (funding stage, growth signals). Forwarded verbatim; the badge vocabulary is not a contract we own."}},"required":["name"],"additionalProperties":{"nullable":true}},"WellfoundJobPosting":{"type":"object","nullable":true,"properties":{"@type":{"type":"string","enum":["JobPosting"]},"title":{"type":"string","example":"Senior Software Engineer"},"datePosted":{"type":"string","nullable":true,"example":"2026-08-01"},"hiringOrganization":{"type":"object","nullable":true,"properties":{"name":{"type":"string","example":"Anthropic"}},"required":["name"],"additionalProperties":{"nullable":true}},"baseSalary":{"type":"object","nullable":true,"properties":{"currency":{"type":"string","nullable":true,"example":"USD"},"value":{"type":"object","nullable":true,"properties":{"minValue":{"anyOf":[{"type":"number"},{"type":"string"},{"nullable":true}]},"maxValue":{"anyOf":[{"type":"number"},{"type":"string"},{"nullable":true}]},"unitText":{"type":"string","nullable":true,"example":"YEAR","description":"The period the amounts are quoted over — YEAR, MONTH or HOUR. Without it the numbers are not comparable between postings."},"currency":{"type":"string","nullable":true}},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true},"description":"Structured compensation, when the posting states it. Absent — not zero — when it does not."},"description":{"type":"string","nullable":true,"description":"The posting body as Wellfound publishes it, HTML markup included."},"jobLocation":{"anyOf":[{"type":"object","properties":{},"additionalProperties":{"nullable":true}},{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},{"nullable":true}],"description":"A schema.org Place, or several. Absent on fully remote postings, which is meaningful rather than missing data."},"employmentType":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"nullable":true}],"example":"FULL_TIME"},"directApply":{"type":"boolean","nullable":true,"description":"Whether the application is completed on Wellfound itself rather than handed off to the company's own ATS."}},"required":["@type","title"],"additionalProperties":{"nullable":true}},"WellfoundStartupsResponse":{"type":"object","nullable":true,"properties":{"startups":{"type":"array","items":{"$ref":"#/components/schemas/WellfoundStartup"},"description":"The companies listed in the directory, deduplicated."},"jobs":{"type":"array","items":{"$ref":"#/components/schemas/WellfoundJob"},"description":"The highlighted postings the directory renders alongside its companies. Incidental to this endpoint — use the job search route when jobs are what you are after."},"count":{"type":"integer","minimum":0,"example":20,"description":"How many companies are returned."},"has_more":{"type":"boolean","example":true,"description":"Whether more rows were available beyond the ones returned. False means the walk stopped because the source ran out — check `ended_at_source_limit` to tell that apart from simply having satisfied `count`."},"ended_at_source_limit":{"type":"boolean","example":false,"description":"True when Wellfound's own result set ran out before `count` was met. It is not an error and not a block: it means the site has no more rows for this query, so retrying or paging further returns nothing new. Wellfound signals this by silently serving page 1 again, which is why it has to be reported rather than inferred from a short list."},"stop_reason":{"type":"string","enum":["count_reached","exhausted","source_limit","page_budget","blocked"],"example":"count_reached","description":"Why paging stopped. `count_reached`: your `count` was satisfied and more rows exist. `exhausted`: a page produced nothing new. `source_limit`: Wellfound served page 1 again, its end-of-results signal. `page_budget`: our own page cap was hit before the source ran out. `blocked`: the walk was cut short upstream, so the result is partial and worth retrying."}},"required":["startups","jobs","count","has_more","ended_at_source_limit"]},"WellfoundCompanyResponse":{"type":"object","nullable":true,"properties":{"slug":{"type":"string","example":"openai"},"startup":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}]},"name":{"type":"string","nullable":true,"example":"OpenAI"},"slug":{"type":"string","nullable":true},"totalRaisedAmount":{"anyOf":[{"type":"number"},{"type":"string"},{"nullable":true}],"example":11000120000,"description":"Lifetime capital raised, in whole currency units. Available from the overview page — unlike the per-round amounts."}},"additionalProperties":{"nullable":true},"description":"The company record, identical across sub-pages, lifted out so a caller does not have to pick a section to read it from."},"hidden_sections":{"type":"array","items":{"type":"string"},"default":[],"example":["SALARIES"],"description":"Sections this company has hidden on Wellfound. This is what makes an empty section interpretable: the company withheld it, rather than the fetch having failed."},"sections":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/WellfoundCompanySection"},"description":"One entry per requested section, keyed by section name. Sections overlap by design — each sub-page carries the same company record plus whatever that tab adds."}},"required":["slug","sections"]},"WellfoundCompanySection":{"type":"object","properties":{"startup":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"rounds":{"type":"array","items":{"$ref":"#/components/schemas/WellfoundStartupRound"},"default":[]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/WellfoundStartupRole"},"default":[]},"people":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"default":[]},"job_listings":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"default":[]},"perks":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"default":[]},"hidden_sections":{"type":"array","items":{"type":"string"},"default":[]}},"additionalProperties":{"nullable":true}},"WellfoundStartupRound":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}]},"roundType":{"type":"string","nullable":true,"example":"Series B"},"raisedAmount":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"example":"10000000000","description":"Amount raised, as Wellfound stores it — a string of whole currency units. **Present only when the `funding` section was requested**; the overview page omits it."},"valuation":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}]},"closedAt":{"anyOf":[{"type":"number"},{"type":"string"},{"nullable":true}],"example":1675900800,"description":"Unix seconds, not milliseconds."},"pressTitle":{"type":"string","nullable":true},"sourceUrl":{"type":"string","nullable":true,"description":"The press coverage Wellfound sourced the round from. Funding section only."}},"additionalProperties":{"nullable":true}},"WellfoundStartupRole":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}]},"title":{"type":"string","nullable":true,"example":"CTO"},"role":{"type":"string","nullable":true,"example":"FOUNDER","description":"Wellfound's own classification — FOUNDER, EMPLOYEE, etc."},"roleDisplayName":{"type":"string","nullable":true},"tenureSeconds":{"type":"number","nullable":true,"example":337881449,"description":"How long this person has held the role, in seconds. Combined with the person's other roles this is a founder-mobility signal the job boards do not publish."},"user":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}]},"name":{"type":"string","nullable":true,"example":"Greg Brockman"},"slug":{"type":"string","nullable":true},"avatarUrl":{"type":"string","nullable":true},"htmlBio":{"type":"string","nullable":true}},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}},"ClutchDirectoryResponse":{"type":"object","nullable":true,"properties":{"directory":{"type":"string","example":"web-developers","description":"The normalized directory path that was walked."},"providers":{"type":"array","items":{"$ref":"#/components/schemas/ClutchProvider"},"description":"Distinct providers, de-duplicated on provider id across every page walked and kept in Clutch's own ranking order."},"count":{"type":"integer","minimum":0,"example":80,"description":"How many providers are returned. Never more than `count`."},"has_more":{"type":"boolean","example":true,"description":"Whether paging stopped before exhaustion. This does not guarantee another provider exists; branch on `stop_reason`."},"stop_reason":{"type":"string","enum":["count_reached","exhausted","blocked","page_budget"],"example":"count_reached","description":"Why paging stopped. `count_reached` — `count` was met; ask for more to continue. `exhausted` — the directory has no further providers. `page_budget` — the 12-page per-call cap was hit before `count`; resume with the response's `next_page` as the next call's `start_page`. `blocked` — cut short upstream, the only value worth retrying."},"pages_walked":{"type":"integer","minimum":0,"example":2,"description":"How many Clutch pages this call actually fetched. Useful for reasoning about cost: each page is paced 6 seconds apart."},"start_page":{"type":"integer","minimum":0,"exclusiveMinimum":true,"example":1,"description":"The page this walk started from, echoed back."},"next_page":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"example":13,"description":"Where to resume, or `null` when there is nothing to resume. Only set when `stop_reason` is `page_budget`. Pass it as `start_page` on the next call to continue past the per-call page cap — this is the only way to reach providers beyond roughly the first 600 of a directory."}},"required":["directory","providers","count","has_more","stop_reason","pages_walked","start_page","next_page"]},"ClutchProvider":{"type":"object","properties":{"id":{"type":"string","example":"1234567"},"slug":{"type":"string","nullable":true,"example":"lounge-lizard","description":"Pass to the profile endpoint for the full record."},"name":{"type":"string","nullable":true,"example":"Lounge Lizard"},"url":{"type":"string","nullable":true,"example":"https://clutch.co/profile/lounge-lizard","description":"The agency's page on Clutch, not the agency's own website."},"rating":{"type":"number","nullable":true,"example":4.8},"review_count":{"type":"number","nullable":true,"example":43,"description":"Reviews behind this row's rating, as the listing states it. The profile endpoint returns two different review counts that disagree with each other — see `review_count_reported` there before treating any single number as authoritative."},"best_rating":{"type":"number","nullable":true,"example":5,"description":"Top of the scale `rating` is on. Returned because it is published, not because it is always 5."},"worst_rating":{"type":"number","nullable":true,"example":0.5},"position":{"type":"number","nullable":true,"example":3,"description":"Clutch's directory rank for this provider, preserved across de-duplication."},"telephone":{"type":"string","nullable":true,"example":"+1 631-581-1000"},"address":{"$ref":"#/components/schemas/ClutchAddress"},"min_project_size":{"type":"string","nullable":true,"example":"$25,000+","description":"A display string, kept as Clutch writes it — the `+` and the band boundaries are the information, and a numeric reading would discard both."},"hourly_rate":{"type":"string","nullable":true,"example":"$100 - $149 / hr","description":"`\"Undisclosed\"` means the firm withheld its rate; null means no rate was read."},"employees":{"type":"string","nullable":true,"example":"50 - 249","description":"A headcount band as displayed, not a number."},"location":{"type":"string","nullable":true,"example":"New York, NY","description":"The headline location Clutch shows on the card. `address` is the structured version and the two can differ."},"services":{"type":"array","items":{"$ref":"#/components/schemas/ClutchServiceShare"},"description":"Percentage of the provider's work by service. Empty when Clutch provides no service mix."}},"required":["id","address","services"],"additionalProperties":{"nullable":true}},"ClutchAddress":{"type":"object","properties":{"street":{"type":"string","nullable":true,"example":"1 Little W 12th St"},"locality":{"type":"string","nullable":true,"example":"New York"},"region":{"type":"string","nullable":true,"example":"NY"},"postal_code":{"type":"string","nullable":true,"example":"10014"},"country":{"type":"string","nullable":true,"example":"US"}},"additionalProperties":{"nullable":true}},"ClutchServiceShare":{"type":"object","properties":{"share_pct":{"type":"integer","nullable":true,"example":45,"description":"Percentage of the firm's work in this line, as Clutch publishes it. The shares on a provider sum to 100 when Clutch renders a full mix, but that is Clutch's arithmetic and is not enforced here."},"service":{"type":"string","example":"Web Development"}},"required":["service"],"additionalProperties":{"nullable":true}},"ClutchProfileResponse":{"type":"object","nullable":true,"properties":{"slug":{"type":"string","example":"wpromote","description":"Echoed back so a row can be matched to its request."},"name":{"type":"string","nullable":true,"example":"Wpromote"},"description":{"type":"string","nullable":true},"website":{"nullable":true,"example":"https://www.wpromote.com","description":"The agency's own site, taken from the schema.org `sameAs` property. That property is allowed to be a single URL or a list of them, so it is forwarded as published rather than forced into one shape."},"clutch_url":{"type":"string","nullable":true,"example":"https://clutch.co/profile/wpromote"},"telephone":{"type":"string","nullable":true},"founded":{"type":"string","nullable":true,"example":"2001","description":"schema.org `foundingDate`. Often a bare year."},"logo":{"nullable":true,"description":"schema.org `image` — a URL, an ImageObject, or a list. Forwarded verbatim; its shape is Clutch's choice per profile."},"rating":{"type":"number","nullable":true,"example":4.7},"rating_scale":{"type":"object","properties":{"best":{"type":"number","nullable":true,"example":5},"worst":{"type":"number","nullable":true,"example":0.5}},"additionalProperties":{"nullable":true},"description":"The scale `rating` sits on. Clutch's worst is 0.5, not 0 or 1, so normalising a Clutch rating to a percentage without this is wrong."},"review_count_reported":{"type":"integer","nullable":true,"example":3,"description":"Review count reported by Clutch's aggregate rating. It may differ from `reviews_embedded`."},"reviews_embedded":{"type":"integer","minimum":0,"example":9,"description":"Number of reviews in this response. `review_count_reported` is Clutch's aggregate count."},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/ClutchReview"},"description":"The reviews embedded in the page. Empty for a profile with none — never null. Reviews beyond this set live behind Clutch's own `/profile/<slug>/review/facets` endpoint, which `review_nonce` exists to let you call."},"address":{"$ref":"#/components/schemas/ClutchAddress"},"offer_catalog":{"type":"array","items":{"nullable":true},"description":"schema.org `hasOfferCatalog.itemListElement`, forwarded verbatim. It is the profile-tier counterpart to a directory row's `services`, but without the percentage shares — the listing is the better source for the mix."},"review_nonce":{"type":"string","nullable":true,"example":"aXfQ2p7...","description":"Single-use token from the rendered page for driving Clutch's own review paginator: `GET /profile/<slug>/review/facets?<filters>&nonce=<this>`. Not reusable across profiles and does not outlive the page it came from. `null` means the page rendered without one."}},"required":["slug","rating_scale","reviews_embedded","reviews","address","offer_catalog"],"additionalProperties":{"nullable":true}},"ClutchReview":{"type":"object","properties":{"title":{"type":"string","nullable":true,"example":"SEO & PPC Services for E-Commerce Retailer"},"published_at":{"type":"string","nullable":true,"example":"2026-03-11","description":"As Clutch publishes it, not re-formatted."},"author":{"type":"string","nullable":true,"example":"Marketing Director, Retail Company","description":"Clutch commonly publishes a role and company type rather than a person's name. Returned as written."},"body":{"type":"string","nullable":true},"rating":{"type":"number","nullable":true,"example":5}},"additionalProperties":{"nullable":true}},"ClutchSitemapResponse":{"anyOf":[{"$ref":"#/components/schemas/ClutchSitemapIndexResponse"},{"$ref":"#/components/schemas/ClutchSitemapUrlsResponse"},{"nullable":true}]},"ClutchSitemapIndexResponse":{"type":"object","properties":{"kind":{"type":"string","enum":["profile","directory"],"example":"profile"},"sitemaps":{"type":"array","items":{"type":"string"},"example":["https://clutch.co/sitemap-profile-1.xml"],"description":"The numbered sitemaps Clutch publishes for this `kind`, filtered out of its root `/sitemap.xml`. Their trailing number is what to pass back as `index`."},"count":{"type":"integer","minimum":0,"example":45}},"required":["kind","sitemaps","count"]},"ClutchSitemapUrlsResponse":{"type":"object","properties":{"kind":{"type":"string","enum":["profile","directory"],"example":"profile"},"index":{"type":"integer","minimum":0,"exclusiveMinimum":true,"example":1},"urls":{"type":"array","items":{"type":"string"},"example":["https://clutch.co/profile/wpromote"],"description":"Every `<loc>` in that sitemap. For `kind=profile` the last path segment is the `slug` the profile endpoint takes; for `kind=directory` the path minus its leading slash is the `directory` the directory endpoint takes."},"count":{"type":"integer","minimum":0,"example":5000}},"required":["kind","index","urls","count"]},"IndeedSearchResponse":{"type":"object","nullable":true,"properties":{"query":{"type":"string","nullable":true,"example":"software engineer","description":"The query Indeed says it ran, echoed from the page."},"location":{"type":"string","nullable":true,"example":"San Francisco, CA"},"radius":{"type":"number","nullable":true,"example":25},"page_number":{"type":"number","nullable":true,"example":1,"description":"Page number. This search surface returns page 1 only."},"search_uid":{"type":"string","nullable":true,"description":"Identifier for this search execution. Identical requests can return different result sets."},"search_timestamp":{"type":"number","nullable":true},"count":{"type":"integer","minimum":0,"example":42,"description":"How many rows are in `results`, and nothing more. It is not a result total and there is no way to obtain one from this surface."},"results":{"type":"array","items":{"$ref":"#/components/schemas/IndeedSearchResult"},"description":"Job rows on the available page. Identical requests can return a partly different set of current postings."},"has_more":{"type":"boolean","enum":[false],"example":false,"description":"Always `false` because this search surface returns one page. Vary `query`, `location`, `radius`, and filters to cover more jobs."},"stop_reason":{"type":"string","enum":["page_two_requires_signin","no_results_blob"],"example":"page_two_requires_signin","description":"Why results ended: `page_two_requires_signin` means the first page was returned; `no_results_blob` means the query matched no jobs."},"source_index_tier_counts":{"type":"array","items":{"$ref":"#/components/schemas/IndeedTierCount"},"description":"Indeed's per-tier index counts for the query. Tiers overlap, so these values are neither a result total nor safe to add together."},"reported_total_note":{"type":"string","description":"The caveat above, carried in the payload so it survives into any client that renders these fields without reading the docs."}},"required":["query","location","radius","page_number","search_uid","search_timestamp","count","results","has_more","stop_reason","source_index_tier_counts","reported_total_note"]},"IndeedSearchResult":{"type":"object","properties":{"job_key":{"type":"string","example":"16dee99e6784de74","description":"Indeed's `jobkey`, and the identity of the posting. Pass it to `/indeed/jobs/detail` for the full description and structured salary."},"title":{"type":"string","nullable":true,"example":"Senior Software Engineer"},"display_title":{"type":"string","nullable":true,"description":"The title as rendered on the card, which can differ from `title` when Indeed truncates or annotates it."},"normalized_title":{"type":"string","nullable":true,"example":"software engineer","description":"Indeed's own normalisation of the title (`normTitle`) — the field it groups roles by, and the one to aggregate on rather than `title`."},"company":{"$ref":"#/components/schemas/IndeedSearchCompany"},"location":{"$ref":"#/components/schemas/IndeedSearchLocation"},"salary":{"$ref":"#/components/schemas/IndeedSearchSalary"},"job_types":{"type":"array","items":{"type":"string"},"example":["Full-time"],"description":"Convenience view of the \"job-types\" taxonomy, which is the one almost every caller wants. Everything else stays in `attributes`."},"attributes":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"example":{"job-types":["Full-time"],"benefits":["401(k)"]},"description":"Indeed's `taxonomyAttributes`, flattened from its nested label/attributes form into taxonomy name -> values. Shift patterns, benefits and encouraged-to-apply tags all arrive here."},"snippet_html":{"type":"string","nullable":true,"description":"The truncated bullet list Indeed shows on the card, HTML included. This is not the posting — `/indeed/jobs/detail` returns the full description."},"created_at":{"type":"string","nullable":true,"example":"2026-08-01T09:14:00.000Z","description":"When Indeed first indexed the posting."},"created_at_ms":{"type":"number","nullable":true,"description":"The same indexing time in epoch milliseconds."},"published_at":{"type":"string","nullable":true,"example":"2026-08-01T09:14:00.000Z","description":"When the posting went live (`pubDate`)."},"published_at_ms":{"type":"number","nullable":true},"posted_relative":{"type":"string","nullable":true,"example":"3 days ago","description":"Indeed's own relative phrasing, as shown on the card."},"sponsored":{"type":"boolean","example":true,"description":"Whether the employer paid for this placement. With `ad_bid` below, this answers \"who is buying visibility for this query, and at what rank\" — which no competitor's output supports."},"package_tier":{"type":"string","nullable":true,"example":"PREMIUM","description":"Which advertising package the placement was bought under."},"ad_id":{"type":"string","nullable":true,"description":"Indeed's `adId` for a sponsored placement."},"advertiser_id":{"type":"string","nullable":true,"description":"Indeed's `advn` — the advertiser behind the placement."},"ad_bid":{"type":"number","nullable":true,"example":195880,"description":"Advertising bid for this placement in Indeed's own units. `null` on organic rows."},"ad_bid_position":{"type":"number","nullable":true,"example":2,"description":"Where that bid placed the row in the auction (`rankingScoresModel.bidPosition`)."},"expected_apply":{"type":"number","nullable":true,"description":"Indeed's `rankingScoresModel.eApply` score. Forwarded because it is part of the same ranking model; its exact semantics are Indeed's and have not been measured here, so do not read it as a probability."},"expected_qualified":{"type":"number","nullable":true,"description":"Indeed's `rankingScoresModel.eQualified`, same caveat."},"organic_apply_start_count":{"type":"number","nullable":true,"description":"How many applications Indeed counts as started on this posting. A demand signal on the employer's side of the market."},"job_url":{"type":"string","nullable":true,"example":"https://www.indeed.com/viewjob?jk=16dee99e6784de74"},"apply_url":{"type":"string","nullable":true,"description":"The employer's own application URL when the posting hands off to an external ATS (`thirdPartyApplyUrl`). Null when the application is completed on Indeed."},"feed_id":{"type":"string","nullable":true,"description":"Which Indeed ingestion feed the posting arrived on — with `source_id`, this says whether an employer posts directly or through an aggregator."},"source_id":{"type":"string","nullable":true}},"required":["job_key","title","display_title","normalized_title","company","location","salary","job_types","attributes","snippet_html","created_at","created_at_ms","published_at","published_at_ms","posted_relative","sponsored","package_tier","ad_id","advertiser_id","ad_bid","ad_bid_position","expected_apply","expected_qualified","organic_apply_start_count","job_url","apply_url","feed_id","source_id"]},"IndeedSearchCompany":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"Stripe"},"rating":{"type":"number","nullable":true,"example":3.9,"description":"Indeed's 1-5 employer rating. Null when unrated."},"review_count":{"type":"number","nullable":true,"example":1204},"slug":{"type":"string","nullable":true,"example":"Stripe","description":"The company's /cmp/ slug, lifted out of the profile link on the row — pass it straight to `/indeed/company` for the full profile."},"profile_url":{"type":"string","nullable":true,"example":"https://www.indeed.com/cmp/Stripe"},"encrypted_id":{"type":"string","nullable":true,"description":"Indeed's own opaque company id (`companyIdEncrypted`). Stable across rows, which makes it a better join key than the display name."}},"required":["name","rating","review_count","slug","profile_url","encrypted_id"]},"IndeedSearchLocation":{"type":"object","properties":{"formatted":{"type":"string","nullable":true,"example":"San Francisco, CA 94103"},"city":{"type":"string","nullable":true,"example":"San Francisco"},"state":{"type":"string","nullable":true,"example":"CA"},"country":{"type":"string","nullable":true,"example":"US"}},"required":["formatted","city","state","country"]},"IndeedSearchSalary":{"type":"object","nullable":true,"properties":{"min":{"type":"number","nullable":true,"example":145000},"max":{"type":"number","nullable":true,"example":210000},"period":{"type":"string","nullable":true,"example":"YEARLY","description":"The period the amounts are quoted over, from Indeed's `extractedSalary.type`. Without it the numbers are not comparable between rows."},"text":{"type":"string","nullable":true,"example":"$145,000 - $210,000 a year","description":"The salary exactly as Indeed renders it on the card."},"currency":{"type":"string","nullable":true,"example":"USD"},"source":{"type":"string","nullable":true,"example":"EXTRACTION","description":"Where Indeed got the figure — whether the employer stated it or Indeed estimated it. Its vocabulary is Indeed's, forwarded as-is."}},"required":["min","max","period","text","currency","source"],"description":"Null when the posting states no pay. Indeed has already parsed the range into numbers, so unlike most job boards this needs no string handling on your side."},"IndeedTierCount":{"type":"object","properties":{"tier":{"type":"number","nullable":true},"type":{"type":"string","nullable":true,"example":"NATIONWIDE"},"job_count":{"type":"number","nullable":true,"example":13}},"required":["tier","type","job_count"]},"IndeedJobResponse":{"type":"object","nullable":true,"properties":{"job_key":{"type":"string","nullable":true,"example":"16dee99e6784de74"},"url":{"type":"string","nullable":true,"example":"https://www.indeed.com/viewjob?jk=16dee99e6784de74"},"title":{"type":"string","nullable":true,"example":"Senior Software Engineer"},"description_html":{"type":"string","nullable":true,"description":"**The whole posting**, as the employer wrote it, HTML markup included. The search row's `snippet_html` is a truncated bullet list; this is the document."},"date_posted":{"type":"string","nullable":true,"example":"2026-08-01"},"valid_through":{"type":"string","nullable":true,"example":"2026-09-30","description":"When the posting expires, where the employer states it. This is the field that says whether a listing is still live without re-fetching it."},"employment_type":{"type":"array","items":{"type":"string"},"example":["FULL_TIME"],"description":"Always an array, because schema.org permits one value or several and Indeed uses both forms."},"direct_apply":{"type":"boolean","nullable":true,"description":"Whether the application is completed on Indeed itself rather than handed off to the employer's own ATS."},"hiring_organization":{"$ref":"#/components/schemas/IndeedJobOrganization"},"locations":{"type":"array","items":{"$ref":"#/components/schemas/IndeedJobLocation"},"description":"Every `jobLocation` on the posting. Empty on fully remote roles, which is meaningful rather than missing."},"salary":{"$ref":"#/components/schemas/IndeedJobSalary"},"identifier":{"type":"string","nullable":true,"description":"The employer's own requisition id, when the posting has one."},"occupational_category":{"type":"string","nullable":true},"industry":{"type":"string","nullable":true}},"required":["job_key","url","title","description_html","date_posted","valid_through","employment_type","direct_apply","hiring_organization","locations","salary","identifier","occupational_category","industry"]},"IndeedJobOrganization":{"type":"object","nullable":true,"properties":{"name":{"type":"string","nullable":true,"example":"Stripe"},"url":{"type":"string","nullable":true},"logo":{"type":"string","nullable":true}},"required":["name","url","logo"]},"IndeedJobLocation":{"type":"object","properties":{"city":{"type":"string","nullable":true,"example":"San Francisco"},"region":{"type":"string","nullable":true,"example":"CA"},"postal_code":{"type":"string","nullable":true,"example":"94103"},"country":{"type":"string","nullable":true,"example":"US"},"street_address":{"type":"string","nullable":true}},"required":["city","region","postal_code","country","street_address"]},"IndeedJobSalary":{"type":"object","nullable":true,"properties":{"currency":{"type":"string","nullable":true,"example":"USD"},"min":{"type":"number","nullable":true,"example":145000},"max":{"type":"number","nullable":true,"example":210000},"period":{"type":"string","nullable":true,"example":"YEAR","description":"schema.org `unitText` — HOUR, DAY, WEEK, MONTH or YEAR. Without it the amounts are not comparable between postings."}},"required":["currency","min","max","period"],"description":"schema.org `baseSalary`, structured. Null — not zero — when the posting states no pay."},"IndeedCompanyResponse":{"type":"object","nullable":true,"properties":{"slug":{"type":"string","example":"Stripe"},"url":{"type":"string","example":"https://www.indeed.com/cmp/Stripe"},"name":{"type":"string","nullable":true,"example":"Stripe"},"rating":{"type":"number","nullable":true,"example":3.9},"review_count":{"type":"number","nullable":true,"example":1204},"happiness_score":{"type":"number","nullable":true,"example":64},"happiness_grade":{"type":"string","nullable":true,"example":"B"},"about":{"$ref":"#/components/schemas/IndeedCompanyAbout"},"happiness":{"$ref":"#/components/schemas/IndeedCompanyHappiness"},"review_ratings":{"$ref":"#/components/schemas/IndeedCompanyReviewRatings"},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/IndeedCompanyReview"},"description":"**The reviews embedded in the profile — five of them**, regardless of how many `review_count` reports. Deep review pagination lives on a separate Indeed page that this API does not serve, so treat these as a sample, never as the review set."},"job_titles":{"type":"array","items":{"$ref":"#/components/schemas/IndeedCompanyJobTitle"},"description":"Roles the company hires for, with counts and ratings."},"locations":{"type":"array","items":{"$ref":"#/components/schemas/IndeedCompanyLocation"}},"similar_companies":{"type":"array","items":{"$ref":"#/components/schemas/IndeedSimilarCompany"},"description":"Indeed's own competitor set for this employer — a ready-made peer group for benchmarking, with each peer's rating and review volume."}},"required":["slug","url","name","rating","review_count","happiness_score","happiness_grade","about","happiness","review_ratings","reviews","job_titles","locations","similar_companies"]},"IndeedCompanyAbout":{"type":"object","properties":{"description":{"type":"string","nullable":true},"founded":{"type":"number","nullable":true,"example":2010},"industry":{"type":"string","nullable":true,"example":"Financial Services"},"revenue":{"type":"string","nullable":true,"example":"$1B to $5B (USD)"},"employee_range":{"type":"string","nullable":true,"example":"5,001 to 10,000"},"ceo_approval":{"type":"number","nullable":true,"example":77,"description":"Percentage of surveyed employees who approve of the CEO. Glassdoor-class employer-brand data, from a site whose existing actors do not expose it."},"website_url":{"type":"string","nullable":true,"example":"https://stripe.com"},"headquarters":{"type":"string","nullable":true,"example":"San Francisco, CA"},"sectors":{"type":"array","items":{"type":"string"},"example":["Financial Services"]}},"required":["description","founded","industry","revenue","employee_range","ceo_approval","website_url","headquarters","sectors"]},"IndeedCompanyHappiness":{"type":"object","nullable":true,"properties":{"composite_score":{"type":"number","nullable":true,"example":64},"response_count":{"type":"number","nullable":true,"example":1832},"ratings":{"type":"array","items":{"$ref":"#/components/schemas/IndeedHappinessRating"},"description":"The 15 individual dimensions of Indeed's Work Happiness survey — compensation, belonging, flexibility, purpose, and so on, each with its own score and letter grade."}},"required":["composite_score","response_count","ratings"],"description":"Indeed's 15-dimension Work Happiness survey. Null when the company has too few responses for Indeed to publish one."},"IndeedHappinessRating":{"type":"object","properties":{"category":{"type":"string","nullable":true,"example":"Compensation"},"question_code":{"type":"string","nullable":true,"example":"COMPENSATION"},"score":{"type":"number","nullable":true,"example":71},"grade":{"type":"string","nullable":true,"example":"B"},"caption":{"type":"string","nullable":true,"example":"People feel they are paid fairly for their work"}},"required":["category","question_code","score","grade","caption"]},"IndeedCompanyReviewRatings":{"type":"object","nullable":true,"properties":{"compensation_benefits":{"type":"number","nullable":true,"example":4.1},"culture":{"type":"number","nullable":true,"example":3.8},"job_security_advancement":{"type":"number","nullable":true,"example":3.4},"management":{"type":"number","nullable":true,"example":3.5},"work_life_balance":{"type":"number","nullable":true,"example":3.9}},"required":["compensation_benefits","culture","job_security_advancement","management","work_life_balance"],"description":"The five category averages Indeed breaks its star rating into. Null when the company has no reviews."},"IndeedCompanyReview":{"type":"object","properties":{"title":{"type":"string","nullable":true,"example":"Great place to grow"},"text":{"type":"string","nullable":true},"rating":{"type":"number","nullable":true,"example":4},"submitted_at":{"type":"string","nullable":true,"example":"2026-06-12"},"current_employee":{"type":"boolean","nullable":true},"job_title":{"type":"string","nullable":true,"example":"Software Engineer"},"location":{"type":"string","nullable":true,"example":"San Francisco, CA"}},"required":["title","text","rating","submitted_at","current_employee","job_title","location"]},"IndeedCompanyJobTitle":{"type":"object","properties":{"title":{"type":"string","nullable":true,"example":"Software Engineer"},"job_count":{"type":"number","nullable":true,"example":128},"rating":{"type":"number","nullable":true,"example":4.2}},"required":["title","job_count","rating"]},"IndeedCompanyLocation":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"San Francisco, CA"},"rating":{"type":"number","nullable":true,"example":4}},"required":["name","rating"]},"IndeedSimilarCompany":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"Square"},"rating":{"type":"number","nullable":true,"example":3.7},"review_count":{"type":"number","nullable":true,"example":2210},"salary_count":{"type":"number","nullable":true,"example":4820},"sectors":{"type":"array","items":{"type":"string"}}},"required":["name","rating","review_count","salary_count","sectors"]},"IndeedSalariesResponse":{"type":"object","nullable":true,"properties":{"requested_title":{"type":"string","nullable":true,"example":"software-engineer","description":"Normalized title used for the salary search."},"requested_location":{"type":"string","nullable":true,"example":"San-Francisco--CA","description":"Location used for the salary search, in Indeed's encoding. `null` for a national request."},"title":{"type":"string","nullable":true,"example":"Software Engineer","description":"The title as Indeed displays it."},"location":{"type":"string","nullable":true,"example":"San Francisco, CA"},"country":{"type":"string","nullable":true,"example":"US"},"national":{"$ref":"#/components/schemas/IndeedSalaryAggregate"},"local":{"allOf":[{"$ref":"#/components/schemas/IndeedSalaryAggregate"},{"description":"The same for the requested location. Null on a national request."}]},"percentiles":{"$ref":"#/components/schemas/IndeedSalaryPercentiles"},"regions":{"type":"array","items":{"$ref":"#/components/schemas/IndeedSalaryRegion"},"description":"**All 51 US regions in one response** — every state plus DC, each with its own average and sample count. No per-state fan-out is needed, and no state request returns more than this already has."},"top_paying_companies":{"type":"array","items":{"$ref":"#/components/schemas/IndeedTopPayingCompany"},"description":"The employers paying most for this title (53 on the page measured), with each one's mean, sample count and employer rating."},"top_paid_cities":{"type":"array","items":{"$ref":"#/components/schemas/IndeedTopPaidCity"},"description":"City-level distributions, ranked by pay."},"related_titles":{"type":"array","items":{"$ref":"#/components/schemas/IndeedRelatedTitle"},"description":"Adjacent titles with their means — the cheapest way to price a career ladder without one request per rung."},"compensations":{"type":"array","items":{"$ref":"#/components/schemas/IndeedCompensation"},"description":"Non-salary compensation Indeed tracks for the title, such as cash bonuses, with the mean amount."},"last_updated_at":{"type":"string","nullable":true,"example":"2026-08-09T14:44:30.000Z","description":"When Indeed last recomputed these aggregates."}},"required":["requested_title","requested_location","title","location","country","national","local","percentiles","regions","top_paying_companies","top_paid_cities","related_titles","compensations","last_updated_at"]},"IndeedSalaryAggregate":{"type":"object","nullable":true,"properties":{"most_common":{"$ref":"#/components/schemas/IndeedSalaryDistribution"},"by_period":{"type":"array","items":{"$ref":"#/components/schemas/IndeedSalaryDistribution"},"description":"The same population expressed hourly, daily, weekly, monthly and yearly, so hourly and salaried roles can be compared without assuming an hours-per-year figure."}},"required":["most_common","by_period"],"description":"The nationwide distribution for the title."},"IndeedSalaryDistribution":{"type":"object","nullable":true,"properties":{"period":{"type":"string","nullable":true,"example":"YEARLY","description":"HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY."},"median":{"type":"number","nullable":true,"example":135340},"mean":{"type":"number","nullable":true,"example":147195},"min":{"type":"number","nullable":true,"example":62000},"max":{"type":"number","nullable":true,"example":320000},"standard_deviation":{"type":"number","nullable":true,"example":62942},"sample_count":{"type":"number","nullable":true,"example":39565,"description":"How many reported salaries the figures rest on. Read this before the median: a distribution over 12 samples and one over 39,565 are not the same kind of number."}},"required":["period","median","mean","min","max","standard_deviation","sample_count"],"description":"Indeed's headline distribution for the title — the one its own page leads with."},"IndeedSalaryPercentiles":{"type":"object","nullable":true,"properties":{"percentile_10":{"type":"number","nullable":true,"example":80048},"median":{"type":"number","nullable":true,"example":135340},"percentile_90":{"type":"number","nullable":true,"example":228825},"currency":{"type":"string","nullable":true,"example":"USD"},"period":{"type":"string","nullable":true,"example":"YEAR"}},"required":["percentile_10","median","percentile_90","currency","period"],"description":"The 10th/50th/90th percentile spread, taken from the schema.org `Occupation` markup on the page. This is the only place the tails of the distribution are published — the aggregates above give the centre, this gives the shape."},"IndeedSalaryRegion":{"type":"object","properties":{"region":{"type":"string","example":"WA"},"name":{"type":"string","nullable":true,"example":"Washington"},"yearly_avg_salary":{"type":"number","nullable":true,"example":114226},"sample_count":{"type":"number","nullable":true,"example":1290},"percent_change_from_base":{"type":"number","nullable":true,"example":12.4,"description":"How far this region sits from the national figure, as Indeed computes it."}},"required":["region","name","yearly_avg_salary","sample_count","percent_change_from_base"]},"IndeedTopPayingCompany":{"type":"object","properties":{"employer_key":{"type":"string","nullable":true},"name":{"type":"string","nullable":true,"example":"Netflix"},"rating":{"type":"number","nullable":true,"example":4.2},"review_count":{"type":"number","nullable":true,"example":812},"salary_mean":{"type":"number","nullable":true,"example":268400},"salary_count":{"type":"number","nullable":true,"example":214},"salary_period":{"type":"string","nullable":true,"example":"YEARLY"}},"required":["employer_key","name","rating","review_count","salary_mean","salary_count","salary_period"]},"IndeedTopPaidCity":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"San Jose, CA"},"salary":{"$ref":"#/components/schemas/IndeedSalaryDistribution"}},"required":["name","salary"]},"IndeedRelatedTitle":{"type":"object","properties":{"title":{"type":"string","nullable":true,"example":"senior software engineer"},"salary_mean":{"type":"number","nullable":true,"example":168200}},"required":["title","salary_mean"]},"IndeedCompensation":{"type":"object","properties":{"type":{"type":"string","nullable":true,"example":"CASH_BONUS"},"mean":{"type":"number","nullable":true,"example":5000}},"required":["type","mean"]},"DiceSearchResponse":{"type":"object","nullable":true,"properties":{"query":{"type":"string"},"location":{"type":"string","nullable":true},"url":{"type":"string","nullable":true,"description":"The search page actually fetched. Null on the rare render with no results section at all."},"current_page":{"type":"number","nullable":true},"total_pages":{"type":"number","nullable":true},"page_size":{"type":"number","nullable":true},"total_results_label":{"type":"string","nullable":true,"example":"11568 results (695 new)","description":"Dice's own headline string, kept verbatim rather than parsed into an int — the \"(N new)\" qualifier is undocumented anywhere Dice publishes."},"count":{"type":"number","description":"Rows actually in `results`, counted here rather than trusted from upstream."},"results":{"type":"array","items":{"$ref":"#/components/schemas/DiceSearchResult"}},"has_more":{"type":"boolean"},"stop_reason":{"type":"string","nullable":true,"example":"no_results_blob","description":"Set only when `results` is empty: the page rendered but carried no results section."}},"required":["query","location","url","current_page","total_pages","page_size","total_results_label","count","results","has_more","stop_reason"]},"DiceSearchResult":{"type":"object","properties":{"job_id":{"type":"string","example":"bba4ebb5-9b44-4f34-b325-7cf129466ac7","description":"Hand this to /dice/job as `job_id` for the full posting."},"title":{"type":"string","nullable":true,"example":"Senior Software Engineer - Mission Systems Integration"},"company_name":{"type":"string","nullable":true,"example":"Redhorse Corporation"},"company_profile_id":{"type":"string","nullable":true,"description":"Dice's own company id — matches the tail of hiring_organization.url on the job detail."},"employment_type":{"type":"string","nullable":true,"example":"Full-time"},"employer_type":{"type":"string","nullable":true,"example":"Direct Hire"},"posted_date":{"type":"string","nullable":true,"example":"2026-09-01T05:13:12Z"},"modified_date":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true,"description":"A truncated lead-in to the full description — not the whole posting."},"salary":{"type":"string","nullable":true,"example":"USD 190,000.00 - 300,000.00 per year","description":"Dice's own free-text label, kept verbatim. Employers write this field with no fixed format (a range, an hourly rate, or literally \"Depends on Experience\"), so it is not parsed into numbers here."},"location":{"$ref":"#/components/schemas/DiceSearchResultLocation"},"is_remote":{"type":"boolean","nullable":true},"is_featured":{"type":"boolean","nullable":true},"easy_apply":{"type":"boolean","nullable":true},"workplace_types":{"type":"array","items":{"type":"string"},"example":["Remote"]},"url":{"type":"string","nullable":true}},"required":["job_id","title","company_name","company_profile_id","employment_type","employer_type","posted_date","modified_date","summary","salary","location","is_remote","is_featured","easy_apply","workplace_types","url"]},"DiceSearchResultLocation":{"type":"object","nullable":true,"properties":{"city":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"region":{"type":"string","nullable":true,"example":"NY","description":"Dice's state abbreviation, kept separate from the full `state` name."},"country":{"type":"string","nullable":true},"display_name":{"type":"string","nullable":true,"example":"New York, New York, USA"}},"required":["city","state","region","country","display_name"]},"DiceJobResponse":{"type":"object","nullable":true,"properties":{"job_id":{"type":"string","example":"bba4ebb5-9b44-4f34-b325-7cf129466ac7"},"url":{"type":"string","nullable":true},"title":{"type":"string","nullable":true,"example":"Senior Software Engineer - Mission Systems Integration"},"description_html":{"type":"string","nullable":true,"description":"The whole posting, as the employer wrote it, HTML markup included."},"date_posted":{"type":"string","nullable":true},"valid_through":{"type":"string","nullable":true,"description":"When the posting expires, where Dice states it."},"employment_type":{"type":"array","items":{"type":"string"},"example":["FULL_TIME"],"description":"Always an array — schema.org permits one value or several."},"hiring_organization":{"$ref":"#/components/schemas/DiceJobOrganization"},"locations":{"type":"array","items":{"$ref":"#/components/schemas/DiceJobLocation"},"description":"Empty for a fully remote posting, which carries no jobLocation at all."},"location_type":{"type":"string","nullable":true,"example":"TELECOMMUTE","description":"schema.org `jobLocationType` — present and set to TELECOMMUTE on remote postings."},"applicant_location":{"type":"string","nullable":true,"example":"USA","description":"The country a remote posting requires applicants to be in, where Dice states one."},"salary":{"$ref":"#/components/schemas/DiceJobSalary"},"identifier":{"type":"string","nullable":true}},"required":["job_id","url","title","description_html","date_posted","valid_through","employment_type","hiring_organization","locations","location_type","applicant_location","salary","identifier"]},"DiceJobOrganization":{"type":"object","nullable":true,"properties":{"name":{"type":"string","nullable":true,"example":"Redhorse Corporation"},"url":{"type":"string","nullable":true},"logo":{"type":"string","nullable":true}},"required":["name","url","logo"]},"DiceJobLocation":{"type":"object","properties":{"city":{"type":"string","nullable":true},"region":{"type":"string","nullable":true},"postal_code":{"type":"string","nullable":true},"country":{"type":"string","nullable":true},"street_address":{"type":"string","nullable":true}},"required":["city","region","postal_code","country","street_address"]},"DiceJobSalary":{"type":"object","nullable":true,"properties":{"currency":{"type":"string","nullable":true,"example":"USD"},"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"period":{"type":"string","nullable":true,"example":"YEAR","description":"schema.org `unitText` — HOUR, DAY, WEEK, MONTH or YEAR."}},"required":["currency","min","max","period"],"description":"Null when the posting states no pay — a real, common answer, not a parse failure."},"SeekSearchResponse":{"type":"object","nullable":true,"properties":{"query":{"type":"string"},"location":{"type":"string","nullable":true},"page":{"type":"integer"},"echoed_page":{"type":"string","nullable":true,"description":"Present only when the request carried an explicit `page` beyond 1 — confirms Seek's own query state matches what was requested."},"url":{"type":"string","nullable":true,"description":"The search page actually fetched. Null on the rare render with no results section at all."},"total_count":{"type":"number","nullable":true,"example":8421,"description":"Seek's own reported total matches for the query."},"page_size":{"type":"number","nullable":true,"example":32},"count":{"type":"number","description":"Rows actually in `results`, counted here rather than trusted from upstream."},"results":{"type":"array","items":{"$ref":"#/components/schemas/SeekSearchResult"}},"has_more":{"type":"boolean"},"stop_reason":{"type":"string","nullable":true,"example":"no_results_blob","description":"Set only when `results` is empty: the page rendered but carried no results section."},"related_searches":{"type":"array","items":{"$ref":"#/components/schemas/SeekRelatedSearch"},"description":"Adjacent queries Seek suggests, each with its own result count."}},"required":["query","location","page","echoed_page","url","total_count","page_size","count","results","has_more","stop_reason","related_searches"]},"SeekSearchResult":{"type":"object","properties":{"job_id":{"type":"string","example":"94059954","description":"Hand this to /seek/job as `job_id` for the full posting."},"title":{"type":"string","nullable":true,"example":"Founding Engineer"},"teaser":{"type":"string","nullable":true,"description":"The one-line pitch shown on the card, not the full posting."},"bullet_points":{"type":"array","items":{"type":"string"},"example":["Six-figure ARR in months, top global hotel brands, new category"],"description":"The employer's own highlight bullets, when the listing carries them."},"advertiser":{"$ref":"#/components/schemas/SeekSearchAdvertiser"},"logo_url":{"type":"string","nullable":true},"locations":{"type":"array","items":{"$ref":"#/components/schemas/SeekSearchLocation"},"description":"Usually one entry; Seek allows more for a multi-location posting."},"classifications":{"type":"array","items":{"$ref":"#/components/schemas/SeekSearchClassification"}},"display_type":{"type":"string","nullable":true,"example":"promoted","description":"Seek's own placement tier for the row — organic, promoted, or a paid variant."},"is_featured":{"type":"boolean","nullable":true},"ad_type":{"type":"string","nullable":true,"example":"SPONSORED","description":"Seek's own ad classification for the row, from its placement metadata."},"listed_at":{"type":"string","nullable":true,"example":"2026-08-18T21:50:30.000Z"},"listed_at_display":{"type":"string","nullable":true,"example":"15d ago","description":"Seek's own relative phrasing, as shown on the card."},"role_id":{"type":"string","nullable":true},"salary_label":{"type":"string","nullable":true,"example":"$12,000 – $17,000 per month","description":"Seek's own free-text label, kept verbatim. Employers write this field with no fixed format, so it is not parsed into numbers here."},"work_types":{"type":"array","items":{"type":"string"},"example":["Full time"]},"work_arrangement":{"type":"string","nullable":true,"example":"Hybrid","description":"Seek's own work-arrangement label, when the listing states one."},"tags":{"type":"array","items":{"$ref":"#/components/schemas/SeekSearchTag"}}},"required":["job_id","title","teaser","bullet_points","advertiser","logo_url","locations","classifications","display_type","is_featured","ad_type","listed_at","listed_at_display","role_id","salary_label","work_types","work_arrangement","tags"]},"SeekSearchAdvertiser":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true,"example":"Visaible","description":"Seek's own `description` field on the advertiser — its display name."}},"required":["id","name"]},"SeekSearchLocation":{"type":"object","properties":{"country_code":{"type":"string","nullable":true,"example":"AU"},"label":{"type":"string","nullable":true,"example":"Sydney NSW"}},"required":["country_code","label"]},"SeekSearchClassification":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true,"example":"Engineering - Software"},"parent_id":{"type":"string","nullable":true},"parent_name":{"type":"string","nullable":true,"example":"Information & Communication Technology"}},"required":["id","name","parent_id","parent_name"]},"SeekSearchTag":{"type":"object","properties":{"type":{"type":"string","nullable":true,"example":"URGENT"},"label":{"type":"string","nullable":true,"example":"Immediate start"}},"required":["type","label"]},"SeekRelatedSearch":{"type":"object","properties":{"keywords":{"type":"string","nullable":true,"example":"software developer"},"total_jobs":{"type":"number","nullable":true,"example":441}},"required":["keywords","total_jobs"]},"SeekJobResponse":{"type":"object","nullable":true,"properties":{"job_id":{"type":"string","example":"94059954"},"url":{"type":"string","nullable":true},"title":{"type":"string","nullable":true,"example":"Founding Engineer"},"status":{"type":"string","nullable":true,"example":"Active"},"is_expired":{"type":"boolean","nullable":true},"is_verified":{"type":"boolean","nullable":true},"is_link_out":{"type":"boolean","nullable":true,"description":"Whether the application hands off to the employer's own site rather than Seek's."},"abstract":{"type":"string","nullable":true,"description":"The one-line pitch — not the full posting."},"description_html":{"type":"string","nullable":true,"description":"The whole posting, as the employer wrote it, HTML markup included."},"listed_at":{"type":"string","nullable":true,"example":"2026-08-18T21:50:30.957Z"},"listed_at_display":{"type":"string","nullable":true,"example":"15d ago"},"expires_at":{"type":"string","nullable":true},"location_label":{"type":"string","nullable":true,"example":"Sydney NSW"},"structured_location":{"$ref":"#/components/schemas/SeekJobStructuredLocation"},"salary_label":{"type":"string","nullable":true,"example":"$12,000 – $17,000 per month","description":"Seek's own free-text label, kept verbatim, same caveat as the search tier's."},"work_types_label":{"type":"string","nullable":true,"example":"Full time"},"work_types":{"type":"array","items":{"type":"string"},"example":["FULL_TIME"],"description":"The structured taxonomy codes behind `work_types_label`."},"advertiser":{"$ref":"#/components/schemas/SeekJobAdvertiser"},"classifications":{"type":"array","items":{"type":"string"},"example":["Engineering - Software (Information & Communication Technology)"]},"contact_matches":{"type":"array","items":{"$ref":"#/components/schemas/SeekJobContactMatch"},"description":"Direct contact details the employer embedded in the posting, when any."},"phone_number":{"type":"string","nullable":true},"share_link":{"type":"string","nullable":true},"branding":{"$ref":"#/components/schemas/SeekJobBranding"}},"required":["job_id","url","title","status","is_expired","is_verified","is_link_out","abstract","description_html","listed_at","listed_at_display","expires_at","location_label","structured_location","salary_label","work_types_label","work_types","advertiser","classifications","contact_matches","phone_number","share_link","branding"]},"SeekJobStructuredLocation":{"type":"object","nullable":true,"properties":{"country":{"type":"string","nullable":true,"example":"Australia"},"country_code":{"type":"string","nullable":true,"example":"AU"},"suburb":{"type":"string","nullable":true,"example":"Sydney"},"region":{"type":"string","nullable":true},"state":{"type":"string","nullable":true,"example":"New South Wales"},"postcode":{"type":"string","nullable":true,"example":"2000"}},"required":["country","country_code","suburb","region","state","postcode"]},"SeekJobAdvertiser":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true,"example":"Visaible"},"is_verified":{"type":"boolean","nullable":true},"registered_at":{"type":"string","nullable":true}},"required":["id","name","is_verified","registered_at"]},"SeekJobContactMatch":{"type":"object","properties":{"type":{"type":"string","nullable":true,"example":"Email"},"value":{"type":"string","nullable":true}},"required":["type","value"]},"SeekJobBranding":{"type":"object","nullable":true,"properties":{"logo_url":{"type":"string","nullable":true},"cover_url":{"type":"string","nullable":true},"thumbnail_url":{"type":"string","nullable":true},"bullets":{"type":"array","items":{"type":"string"}},"questionnaire_questions":{"type":"array","items":{"type":"string"},"description":"Screening questions the employer attached to the application, when any."},"video_url":{"type":"string","nullable":true}},"required":["logo_url","cover_url","thumbnail_url","bullets","questionnaire_questions","video_url"],"description":"Null for a plain-text listing with no employer branding package."},"SeekCompanyResponse":{"type":"object","nullable":true,"properties":{"slug":{"type":"string","example":"cisco-systems-432649"},"url":{"type":"string","nullable":true},"id":{"type":"string","nullable":true,"description":"Seek's own numeric company id — the trailing digits of `slug`."},"name":{"type":"string","nullable":true,"example":"CommBank"},"canonical_url":{"type":"string","nullable":true},"is_claimed":{"type":"boolean","nullable":true},"branding":{"$ref":"#/components/schemas/SeekCompanyBranding"},"overview":{"$ref":"#/components/schemas/SeekCompanyOverview"},"mission_statement":{"type":"array","items":{"type":"string"}},"custom_statement":{"$ref":"#/components/schemas/SeekCompanyStatement"},"culture_and_values":{"$ref":"#/components/schemas/SeekCompanyCulture"},"featured":{"$ref":"#/components/schemas/SeekCompanyFeatured"},"perks_and_benefits":{"type":"array","items":{"$ref":"#/components/schemas/SeekCompanyPerk"}},"awards":{"type":"array","items":{"$ref":"#/components/schemas/SeekCompanyAward"}},"review_rating":{"$ref":"#/components/schemas/SeekCompanyReviewRating"}},"required":["slug","url","id","name","canonical_url","is_claimed","branding","overview","mission_statement","custom_statement","culture_and_values","featured","perks_and_benefits","awards","review_rating"]},"SeekCompanyBranding":{"type":"object","nullable":true,"properties":{"logo_url":{"type":"string","nullable":true},"cover_url":{"type":"string","nullable":true}},"required":["logo_url","cover_url"]},"SeekCompanyOverview":{"type":"object","nullable":true,"properties":{"website_url":{"type":"string","nullable":true,"example":"https://www.commbank.com.au"},"website_display_name":{"type":"string","nullable":true,"example":"CommBank"},"size":{"type":"string","nullable":true,"example":"More than 10,000"},"industry":{"type":"string","nullable":true,"example":"Banking & Credit"},"primary_location":{"type":"string","nullable":true,"example":"Sydney, NSW"},"specialities":{"type":"array","items":{"type":"string"},"example":["Banking","Financial Services"]},"description":{"type":"array","items":{"type":"string"},"description":"The company's own about-us copy, one paragraph per entry."}},"required":["website_url","website_display_name","size","industry","primary_location","specialities","description"]},"SeekCompanyStatement":{"type":"object","nullable":true,"properties":{"title":{"type":"string","nullable":true},"description":{"type":"array","items":{"type":"string"}}},"required":["title","description"]},"SeekCompanyCulture":{"type":"object","nullable":true,"properties":{"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"image_url":{"type":"string","nullable":true},"values":{"type":"array","items":{"$ref":"#/components/schemas/SeekCompanyValue"}}},"required":["title","description","image_url","values"]},"SeekCompanyValue":{"type":"object","properties":{"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true}},"required":["title","description"]},"SeekCompanyFeatured":{"type":"object","nullable":true,"properties":{"title":{"type":"string","nullable":true},"description":{"type":"array","items":{"type":"string"}},"image_url":{"type":"string","nullable":true},"video_url":{"type":"string","nullable":true}},"required":["title","description","image_url","video_url"]},"SeekCompanyPerk":{"type":"object","properties":{"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true}},"required":["title","description"]},"SeekCompanyAward":{"type":"object","properties":{"name":{"type":"string","nullable":true},"year":{"type":"number","nullable":true},"image_url":{"type":"string","nullable":true}},"required":["name","year","image_url"]},"SeekCompanyReviewRating":{"type":"object","nullable":true,"properties":{"overall":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"perks_and_benefits":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"career_opportunity":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"diversity":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"executive_management":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"work_life_balance":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"work_environment":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"rating_1_star":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"rating_2_star":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"rating_3_star":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"rating_4_star":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"rating_5_star":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"recommended":{"allOf":[{"$ref":"#/components/schemas/SeekReviewRatingMetric"},{"description":"Share of reviewers who would recommend the employer, as a `percentage`."}]},"salary_poor":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"salary_fair":{"$ref":"#/components/schemas/SeekReviewRatingMetric"},"salary_generous":{"$ref":"#/components/schemas/SeekReviewRatingMetric"}},"required":["overall","perks_and_benefits","career_opportunity","diversity","executive_management","work_life_balance","work_environment","rating_1_star","rating_2_star","rating_3_star","rating_4_star","rating_5_star","recommended","salary_poor","salary_fair","salary_generous"],"description":"Null when the company has too few reviews for Seek to publish one."},"SeekReviewRatingMetric":{"type":"object","nullable":true,"properties":{"rating":{"type":"number","nullable":true,"description":"1-5 average. Null on a metric Seek reports only as a percentage."},"percentage":{"type":"number","nullable":true,"description":"0-100. Null on a metric Seek reports only as a rating."},"count":{"type":"number","nullable":true,"description":"Responses the figure rests on."}},"required":["rating","percentage","count"]},"ZiprecruiterSearchResponse":{"type":"object","nullable":true,"properties":{"location":{"type":"string","nullable":true},"page":{"type":"integer"},"url":{"type":"string","nullable":true,"description":"The search page actually fetched. Null on the rare render with no results section at all."},"total_listings":{"type":"number","nullable":true,"description":"Advertised number of listings. This may exceed the number available in `results`; use `count` for the returned row count."},"count":{"type":"number","description":"Number of rows in `results`."},"results":{"type":"array","items":{"$ref":"#/components/schemas/ZiprecruiterJobResult"}},"has_more":{"type":"boolean"},"stop_reason":{"type":"string","nullable":true,"example":"no_results_blob","description":"Set only when `results` is empty: the page rendered but carried no results section."}},"required":["location","page","url","total_listings","count","results","has_more","stop_reason"]},"ZiprecruiterJobResult":{"type":"object","properties":{"job_id":{"type":"string","example":"sa0o0DJBHcxh_je9EJAcYQ","description":"ZipRecruiter's own `listingKey` for the row."},"title":{"type":"string","nullable":true,"example":"LPN - Private Duty Nursing - Peds Vent"},"short_description":{"type":"string","nullable":true,"description":"A truncated lead-in to the full posting, not the whole text."},"is_active":{"type":"boolean","nullable":true},"posted_at":{"type":"string","nullable":true,"example":"2026-08-26T06:18:02Z"},"posted_label":{"type":"string","nullable":true,"example":"8 days ago","description":"ZipRecruiter's own relative phrasing, as shown on the card."},"updated_at":{"type":"string","nullable":true},"pay":{"$ref":"#/components/schemas/ZiprecruiterJobPay"},"pay_label":{"type":"string","nullable":true,"example":"$$30/hr","description":"ZipRecruiter's own display string, when it renders one."},"benefits":{"type":"array","items":{"type":"string"},"example":["BENEFIT_TYPE_NAME_MEDICAL","BENEFIT_TYPE_NAME_DENTAL"],"description":"ZipRecruiter's own enum values, kept verbatim."},"employment_types":{"type":"array","items":{"type":"string"},"example":["EMPLOYMENT_TYPE_NAME_FULL_TIME"]},"location_types":{"type":"array","items":{"type":"string"},"example":["LOCATION_TYPE_NAME_IN_PERSON"]},"company":{"$ref":"#/components/schemas/ZiprecruiterJobCompany"},"company_url":{"type":"string","nullable":true,"example":"/co/Maxim-Healthcare-Services/Jobs","description":"Employer path. Remove the `/co/` prefix and `/Jobs` suffix to obtain the `company` input for the company-jobs endpoint."},"company_logo_url":{"type":"string","nullable":true},"location":{"$ref":"#/components/schemas/ZiprecruiterJobLocation"},"apply_url":{"type":"string","nullable":true,"description":"ZipRecruiter's own outbound apply redirect for the row."},"canonical_url":{"type":"string","nullable":true,"description":"ZipRecruiter's own relative URL for the row's job page."}},"required":["job_id","title","short_description","is_active","posted_at","posted_label","updated_at","pay","pay_label","benefits","employment_types","location_types","company","company_url","company_logo_url","location","apply_url","canonical_url"]},"ZiprecruiterJobPay":{"type":"object","nullable":true,"properties":{"interval":{"type":"string","nullable":true,"example":"PAY_INTERVAL_HOUR","description":"ZipRecruiter's own enum, kept verbatim."},"currency":{"type":"string","nullable":true,"example":"PAY_CURRENCY_USD"},"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"min_annual":{"type":"number","nullable":true,"description":"ZipRecruiter's own annualized estimate of `min`."},"max_annual":{"type":"number","nullable":true}},"required":["interval","currency","min","max","min_annual","max_annual"],"description":"Null when ZipRecruiter's own record carries no pay figures at all — some rows carry only `currency` with no `min`/`max`."},"ZiprecruiterJobCompany":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true,"example":"Maxim Healthcare Services"}},"required":["id","name"]},"ZiprecruiterJobLocation":{"type":"object","nullable":true,"properties":{"city":{"type":"string","nullable":true,"example":"Miami"},"state":{"type":"string","nullable":true,"example":"Florida"},"state_code":{"type":"string","nullable":true,"example":"FL"},"county":{"type":"string","nullable":true,"example":"Miami-Dade"},"postal_code":{"type":"string","nullable":true,"example":"33176"},"country":{"type":"string","nullable":true,"example":"United States"},"display_name":{"type":"string","nullable":true,"example":"Miami, FL US 33176"}},"required":["city","state","state_code","county","postal_code","country","display_name"]},"ZiprecruiterCompanyResponse":{"type":"object","nullable":true,"properties":{"company":{"type":"string","example":"Maxim-Healthcare-Services"},"city":{"type":"string","example":"Miami"},"state":{"type":"string","example":"FL"},"url":{"type":"string","nullable":true},"total_listings":{"type":"number","nullable":true},"count":{"type":"number","description":"Number of rows in `results`."},"results":{"type":"array","items":{"$ref":"#/components/schemas/ZiprecruiterJobResult"}}},"required":["company","city","state","url","total_listings","count","results"]},"GlassdoorJobsResponse":{"type":"object","nullable":true,"properties":{"query":{"type":"string","nullable":true,"example":"software engineer"},"loc_id":{"type":"number","nullable":true,"example":1147401,"description":"The location id the search ran against, echoed back."},"count":{"type":"number","example":62,"description":"How many rows are in `jobs`. Counted from what you received, not copied from any figure Glassdoor prints on the page — its own headline (\"2,916 software engineer Jobs in San Francisco\") is a claim about its index, not about this response, and is not published here as a total."},"jobs":{"type":"array","items":{"$ref":"#/components/schemas/GlassdoorJob"}}},"required":["query","loc_id","count","jobs"]},"GlassdoorJob":{"type":"object","properties":{"title":{"type":"string","example":"Senior Software Engineer","description":"The posting's title (`jobTitleText`)."},"normalized_title":{"type":"string","nullable":true,"example":"software engineer","description":"Glassdoor's own normalisation of the title (`normalizedJobTitle`) — the field it groups roles by, and the one to aggregate on rather than `title`."},"occupations":{"type":"array","items":{"type":"string"},"example":["Software Engineer"],"description":"Glassdoor's occupation tags for the row, flattened out of its nested `occupations` form."},"occupation_group":{"type":"string","nullable":true,"description":"Glassdoor's group-of-occupations label (`goc`) — a coarser bucket than `occupations`, and what its own faceting uses."},"occupation_group_id":{"type":"string","nullable":true},"employer":{"$ref":"#/components/schemas/GlassdoorJobEmployer"},"location":{"$ref":"#/components/schemas/GlassdoorJobLocation"},"pay":{"$ref":"#/components/schemas/GlassdoorJobPay"},"age_in_days":{"type":"number","nullable":true,"example":3,"description":"How long ago Glassdoor first saw the posting (`ageInDays`). `0` means today, so treat it as a number and not as a missing value."},"easy_apply":{"type":"boolean","nullable":true,"description":"Whether the posting can be applied to on Glassdoor itself."},"expired":{"type":"boolean","nullable":true},"job_url":{"type":"string","nullable":true,"example":"https://www.glassdoor.com/partner/jobListing.htm?jobListingId=1009292918313","description":"Absolute URL of the posting on Glassdoor."},"job_listing_id":{"type":"string","nullable":true,"example":"1009292918313","description":"Glassdoor's listing id, lifted from the `jobListingId=` parameter on the job link when the link carries one. It is the stable identity of the posting and the right key to de-duplicate on across searches."},"is_sponsored_job":{"type":"boolean","nullable":true,"example":true,"description":"Whether *this posting* was paid for (`isSponsoredJob`). Distinct from `is_sponsored_employer` below, and Glassdoor tracks the two separately."},"is_sponsored_employer":{"type":"boolean","nullable":true,"description":"Whether the *employer* is buying visibility on this query (`isSponsoredEmployer`), independently of whether this specific posting is a paid placement."},"ad_order_id":{"type":"string","nullable":true,"description":"Glassdoor's `adOrderId` for a paid placement — the advertising order the row was served under. Null on organic rows, which makes it the cleanest paid/organic split on this surface."},"has_employer_spotlight":{"type":"boolean","nullable":true,"description":"Whether the row carries Glassdoor's branded employer-spotlight treatment (`employerSpotlight`), which is bought separately again."}},"required":["title","normalized_title","occupations","occupation_group","occupation_group_id","employer","location","pay","age_in_days","easy_apply","expired","job_url","job_listing_id","is_sponsored_job","is_sponsored_employer","ad_order_id","has_employer_spotlight"]},"GlassdoorJobEmployer":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"671932","description":"Glassdoor's employer id, published as a string because it arrives as a number on some rows and a string on others. Pass it to `/glassdoor/overview` or `/glassdoor/reviews` — with the slug — for the employer's own tiers."},"name":{"type":"string","nullable":true,"example":"Stripe"},"short_name":{"type":"string","nullable":true,"description":"Glassdoor's abbreviated display name for the employer, when it has one that differs from `name`."},"rating":{"type":"number","nullable":true,"example":3.9,"description":"The employer's overall 1-5 rating as carried on the search row. Null when the row does not state one — `/glassdoor/overview` is the authoritative source for it."},"logo_url":{"type":"string","nullable":true}},"required":["id","name","short_name","rating","logo_url"]},"GlassdoorJobLocation":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"San Francisco, CA"},"type":{"type":"string","nullable":true,"example":"C","description":"Glassdoor's `locationType` for the row — its `locT` codes."},"loc_id":{"type":"number","nullable":true,"example":1147401,"description":"**The row's own Glassdoor location id.** This is the one reliable way to discover a `loc_id` for a place: run a search you already have an id for, and read the ids off the rows that come back."},"country_id":{"type":"number","nullable":true}},"required":["name","type","loc_id","country_id"]},"GlassdoorJobPay":{"type":"object","nullable":true,"properties":{"p10":{"type":"number","nullable":true,"example":145000,"description":"10th percentile of the distribution for this listing."},"p50":{"type":"number","nullable":true,"example":187000,"description":"Median."},"p90":{"type":"number","nullable":true,"example":240000,"description":"90th percentile."},"period":{"type":"string","nullable":true,"example":"ANNUAL","description":"The period the amounts are quoted over (`payPeriod`). Without it the numbers are not comparable between rows."},"currency":{"type":"string","nullable":true,"example":"USD"},"source":{"type":"string","nullable":true,"example":"EMPLOYER_ESTIMATED_SALARY","description":"Where the figures came from — whether the employer stated the pay or Glassdoor estimated it. Glassdoor's own vocabulary, forwarded as-is, and worth reading before comparing two rows."}},"required":["p10","p50","p90","period","currency","source"],"description":"**A salary distribution attached to this individual listing** (`payPeriodAdjustedPay`), not a range parsed out of the advert text. Null when the row carries no pay data at all."},"GlassdoorReviewsResponse":{"type":"object","nullable":true,"properties":{"employer_id":{"type":"string","nullable":true,"example":"671932"},"slug":{"type":"string","nullable":true,"example":"Stripe"},"count":{"type":"number","example":3,"description":"Number of reviews in `reviews`. Read `coverage` before comparing it with the employer's total review count."},"coverage":{"type":"string","example":"page one only: Glassdoor answers 401 'Authenticating' for _P2 and beyond without an account","description":"Explains that `reviews` contains the first public page and cannot be paginated by this endpoint."},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/GlassdoorReview"}}},"required":["employer_id","slug","count","coverage","reviews"]},"GlassdoorReview":{"type":"object","properties":{"review_id":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true,"example":"Great people, fast pace","description":"The review's headline."},"pros":{"type":"string","nullable":true},"cons":{"type":"string","nullable":true},"advice":{"type":"string","nullable":true,"description":"Advice to management. Optional on Glassdoor's own form, so null is common even on a complete review."},"ratings":{"$ref":"#/components/schemas/GlassdoorReviewRatings"},"sentiment":{"$ref":"#/components/schemas/GlassdoorReviewSentiment"},"reviewer":{"$ref":"#/components/schemas/GlassdoorReviewer"},"reviewed_at":{"type":"string","nullable":true,"example":"2026-03-11T09:22:34.000Z","description":"When the review was posted, in ISO 8601."},"reviewed_at_raw":{"type":"string","nullable":true,"description":"Glassdoor's own `reviewDateTime` string, kept alongside the parsed value so nothing is lost if our reading of its format is ever wrong."},"helpful_count":{"type":"number","nullable":true,"description":"`countHelpful`."},"not_helpful_count":{"type":"number","nullable":true,"description":"`countNotHelpful`."},"featured":{"type":"boolean","nullable":true,"description":"Whether Glassdoor is promoting this review on the employer's page. A featured review is not a random sample of opinion."},"employer_responses":{"type":"array","items":{"$ref":"#/components/schemas/GlassdoorEmployerResponse"},"description":"The employer's public replies, if any. Empty array when there are none — never null."}},"required":["review_id","summary","pros","cons","advice","ratings","sentiment","reviewer","reviewed_at","reviewed_at_raw","helpful_count","not_helpful_count","featured","employer_responses"]},"GlassdoorReviewRatings":{"type":"object","properties":{"overall":{"type":"number","nullable":true,"example":4,"description":"`ratingOverall`, 1-5."},"career_opportunities":{"type":"number","nullable":true,"description":"`ratingCareerOpportunities`, 1-5."},"compensation_and_benefits":{"type":"number","nullable":true,"description":"`ratingCompensationAndBenefits`, 1-5."},"culture_and_values":{"type":"number","nullable":true,"description":"`ratingCultureAndValues`, 1-5."},"diversity_and_inclusion":{"type":"number","nullable":true,"description":"`ratingDiversityAndInclusion`, 1-5."},"senior_leadership":{"type":"number","nullable":true,"description":"`ratingSeniorLeadership`, 1-5."},"work_life_balance":{"type":"number","nullable":true,"description":"`ratingWorkLifeBalance`, 1-5."}},"required":["overall","career_opportunities","compensation_and_benefits","culture_and_values","diversity_and_inclusion","senior_leadership","work_life_balance"],"description":"The seven 1-5 star dimensions. Deliberately not averaged: the whole value of this surface is that pay, culture, leadership and career growth are scored separately, and a single number throws that away."},"GlassdoorReviewSentiment":{"type":"object","properties":{"business_outlook":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"example":"POSITIVE","description":"`ratingBusinessOutlook` — whether the reviewer expects the business to improve."},"ceo_approval":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"example":"APPROVE","description":"`ratingCeo` — whether the reviewer approves of the CEO."},"recommend_to_friend":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"example":"POSITIVE","description":"`ratingRecommendToFriend` — whether the reviewer would recommend working here."}},"required":["business_outlook","ceo_approval","recommend_to_friend"],"description":"The three approval dimensions, which are Glassdoor's own vocabulary rather than a score — so they are kept apart from `ratings` instead of being coerced into the same scale."},"GlassdoorReviewer":{"type":"object","properties":{"job_title":{"type":"string","nullable":true,"example":"Software Engineer"},"employment_status":{"type":"string","nullable":true,"example":"REGULAR","description":"Glassdoor's `employmentStatus` vocabulary — full-time, part-time, contract, intern. Forwarded as-is."},"is_current_employee":{"type":"boolean","nullable":true,"description":"`isCurrentJob`. A former employee's review and a current one's are not the same evidence, and Glassdoor labels them separately."},"length_of_employment_years":{"type":"number","nullable":true,"example":2,"description":"`lengthOfEmployment`, in years."},"location":{"type":"string","nullable":true,"example":"San Francisco, CA","description":"Where the reviewer worked. Flattened from Glassdoor's location object to its display name."}},"required":["job_title","employment_status","is_current_employee","length_of_employment_years","location"]},"GlassdoorEmployerResponse":{"type":"object","properties":{"text":{"type":"string","nullable":true,"description":"The employer's reply to the review, as written."},"responded_at":{"type":"string","nullable":true,"example":"2026-03-11T09:22:34.000Z","description":"When the employer replied, in ISO 8601."},"author_title":{"type":"string","nullable":true,"description":"The job title the responder signed with, when stated."}},"required":["text","responded_at","author_title"]},"GlassdoorOverviewResponse":{"type":"object","nullable":true,"properties":{"employer_id":{"type":"string","nullable":true,"example":"671932"},"slug":{"type":"string","nullable":true,"example":"Stripe"},"rating":{"$ref":"#/components/schemas/GlassdoorAggregateRating"},"profile":{"$ref":"#/components/schemas/GlassdoorEmployerProfile"},"ratings":{"$ref":"#/components/schemas/GlassdoorEmployerRatings"}},"required":["employer_id","slug","rating","profile","ratings"]},"GlassdoorAggregateRating":{"type":"object","nullable":true,"properties":{"value":{"type":"number","nullable":true,"example":3.7,"description":"The employer's overall rating, 1-5."},"count":{"type":"number","nullable":true,"example":1361,"description":"Number of reviews used for the employer's aggregate rating. This can exceed the reviews returned by `/glassdoor/reviews`."},"best":{"type":"number","nullable":true,"example":5},"worst":{"type":"number","nullable":true,"example":1}},"required":["value","count","best","worst"],"description":"Employer-wide aggregate rating and review count. Null when the page does not publish the aggregate."},"GlassdoorEmployerProfile":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"Stripe"},"short_name":{"type":"string","nullable":true},"website":{"type":"string","nullable":true,"example":"www.stripe.com"},"headquarters":{"type":"string","nullable":true,"example":"South San Francisco, CA"},"size":{"type":"string","nullable":true,"example":"1001 to 5000 Employees","description":"Glassdoor's employee-count band, as it renders it."},"type":{"type":"string","nullable":true,"example":"Company - Private","description":"Public, private, subsidiary, non-profit — Glassdoor's own label."},"revenue":{"type":"string","nullable":true,"description":"Glassdoor's revenue band, as it renders it."},"founded_year":{"type":"number","nullable":true,"example":2010},"industry":{"type":"string","nullable":true,"example":"Financial Transaction Processing"},"sector":{"type":"string","nullable":true,"example":"Financial Services"},"description":{"type":"string","nullable":true,"description":"The employer's own description of itself."},"mission":{"type":"string","nullable":true},"logo_url":{"type":"string","nullable":true},"ceo_name":{"type":"string","nullable":true,"example":"Patrick Collison"}},"required":["name","short_name","website","headquarters","size","type","revenue","founded_year","industry","sector","description","mission","logo_url","ceo_name"],"description":"Employer facts. Individual fields may be null; a missing overview page returns `data: null`."},"GlassdoorEmployerRatings":{"type":"object","properties":{"overall":{"type":"number","nullable":true},"career_opportunities":{"type":"number","nullable":true},"compensation_and_benefits":{"type":"number","nullable":true},"culture_and_values":{"type":"number","nullable":true},"diversity_and_inclusion":{"type":"number","nullable":true},"senior_leadership":{"type":"number","nullable":true},"work_life_balance":{"type":"number","nullable":true},"recommend_to_friend_percent":{"type":"number","nullable":true,"description":"Share of reviewers who would recommend the employer to a friend, as Glassdoor states it (a percentage, 0-100)."},"ceo_approval_percent":{"type":"number","nullable":true,"description":"Share of reviewers who approve of the CEO, 0-100."},"business_outlook_percent":{"type":"number","nullable":true,"description":"Share of reviewers with a positive six-month business outlook, 0-100."},"review_count":{"type":"number","nullable":true,"description":"Employer review count from the page state. Prefer `rating.count` when both values are present."}},"required":["overall","career_opportunities","compensation_and_benefits","culture_and_values","diversity_and_inclusion","senior_leadership","work_life_balance","recommend_to_friend_percent","ceo_approval_percent","business_outlook_percent","review_count"],"description":"The employer-wide equivalent of a review's rating vector, when the page state carries it. Same nullability caveat as `profile`."},"GlassdoorSalariesResponse":{"type":"object","nullable":true,"properties":{"title":{"type":"string","nullable":true,"example":"software-engineer"},"count":{"type":"number","example":5,"description":"How many distributions are in `pay`."},"pay":{"type":"array","items":{"$ref":"#/components/schemas/GlassdoorPayDistribution"}}},"required":["title","count","pay"]},"GlassdoorPayDistribution":{"type":"object","properties":{"job_title":{"type":"string","nullable":true,"example":"Software Engineer"},"employer":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true,"example":"Stripe"}},"required":["id","name"],"description":"**The employer the distribution belongs to, when it belongs to one.** This is where Glassdoor's salary tier beats Indeed's: pay attached to a named company rather than only to a title. Null on the title-level aggregate rows."},"currency":{"type":"string","nullable":true,"example":"USD"},"pay_period":{"type":"string","nullable":true,"example":"ANNUAL","description":"The period every amount on this row is quoted over. Read it before comparing rows — an hourly row and an annual one are both plain numbers here."},"median_total_pay":{"type":"number","nullable":true,"example":187000,"description":"`totalPayStatistics.totalPayMedian`."},"base_pay":{"type":"number","nullable":true,"description":"The base component (`basePayAmount`), i.e. total pay minus the additional pay below."},"additional_pay":{"type":"number","nullable":true,"description":"Bonus, equity and the rest (`totalAdditionalPayAmount`). Splitting it from base is the thing most salary sources cannot do."},"estimated_range":{"$ref":"#/components/schemas/GlassdoorPayRange"},"percentiles":{"type":"array","items":{"$ref":"#/components/schemas/GlassdoorPercentile"},"description":"The distribution as Glassdoor published it, in its own order. Empty when the row carries no percentile breakdown."},"p10":{"type":"number","nullable":true,"description":"Convenience view of `percentiles`, matched on Glassdoor's own label. Null when the row's percentiles are unlabelled — this API will not guess which unlabelled number is which percentile."},"p50":{"type":"number","nullable":true},"p90":{"type":"number","nullable":true},"annual_pay":{"type":"number","nullable":true,"description":"The same pay expressed annually, when Glassdoor states it (`annualPay`)."},"monthly_pay":{"type":"number","nullable":true},"hourly_pay":{"type":"number","nullable":true}},"required":["job_title","employer","currency","pay_period","median_total_pay","base_pay","additional_pay","estimated_range","percentiles","p10","p50","p90","annual_pay","monthly_pay","hourly_pay"]},"GlassdoorPayRange":{"type":"object","nullable":true,"properties":{"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true}},"required":["min","max"],"description":"Glassdoor's `estimatedPayRange`, when it states one."},"GlassdoorPercentile":{"type":"object","properties":{"label":{"type":"string","nullable":true,"example":"P50","description":"Glassdoor's own name for the percentile. Null when it published the value without one, in which case the array order is all there is."},"value":{"type":"number","nullable":true,"example":187000}},"required":["label","value"]},"YelpBusinessResponse":{"type":"object","nullable":true,"properties":{"alias":{"type":"string","nullable":true,"example":"tartine-bakery-san-francisco","description":"The slug that was fetched, echoed back."},"url":{"type":"string","nullable":true,"example":"https://www.yelp.com/biz/tartine-bakery-san-francisco","description":"The business's page on Yelp, built from `alias`."},"name":{"type":"string","example":"Tartine Bakery","description":"The business name, from the page's `<h1>`. **This is the anchor everything else on the page is positioned against**, so it is the one non-nullable field here: a page that is a business but carries no name means Yelp moved something, and that is reported as an error rather than as a business with eleven nulls.\n\nYelp redirects aliases freely, so this — not your `alias` — is the authority on which business you actually got."},"rating":{"type":"number","nullable":true,"example":4.3,"description":"The star rating Yelp prints on the page, 1-5."},"review_count_display":{"type":"string","nullable":true,"example":"9.2k","description":"**A string, and an abbreviated one — literally \"9.2k\".** Yelp prints the review count only in abbreviated form to a logged-out client, and publishes the exact figure nowhere on the page, so this is the raw label and not a number.\n\nIt is deliberately not parsed: expanding \"9.2k\" to 9200 would invent three digits of precision the site never gave, and a caller aggregating those would be summing noise. Parse it yourself if an approximation is useful to you — but do it knowingly."},"phone":{"type":"string","nullable":true,"example":"(415) 487-2600"},"price_range":{"type":"string","nullable":true,"example":"$$","description":"Yelp's price band, as it renders it: `$` to `$$$$`."},"categories":{"type":"array","items":{"type":"string"},"example":["Bakeries","Desserts","Cafes"],"description":"The business's own Yelp categories. Empty array when the page lists none — never null."},"address":{"$ref":"#/components/schemas/YelpPostalAddress"},"photos":{"type":"array","items":{"$ref":"#/components/schemas/YelpPhoto"},"description":"Business photos from the page's schema.org `ItemList`, capped at 30 by the worker. Empty array when the page ships none."},"reviews":{"nullable":true,"description":"**Always `null`, and it is not a bug.** See `reviews_note`. The field exists rather than being omitted so that the answer to \"where are the reviews\" is in the payload rather than only in these docs."},"reviews_note":{"type":"string","example":"Yelp renders its review list client-side; a server-fetched page carries only loading placeholders. Reviews are not available on this tier.","description":"**Why `reviews` is null, stated in the response body.** Yelp renders its review list client-side: a server-fetched page carries `reviews-shimmer-*` loading placeholders and no review prose at all. Measured on one business, same URL and same moment, browser versus HTTP client — name, rating, address, phone, hours, categories and ld+json reach both; review text reaches neither without rendering the page. No parameter on this endpoint can change that."}},"required":["alias","url","name","rating","review_count_display","phone","price_range","categories","address","photos","reviews","reviews_note"]},"YelpPostalAddress":{"type":"object","nullable":true,"properties":{"street_address":{"type":"string","nullable":true,"example":"600 Guerrero St"},"locality":{"type":"string","nullable":true,"example":"San Francisco","description":"City — schema.org `addressLocality`."},"region":{"type":"string","nullable":true,"example":"CA","description":"State or province — schema.org `addressRegion`."},"postal_code":{"type":"string","nullable":true,"example":"94110"},"country":{"type":"string","nullable":true,"example":"US"}},"required":["street_address","locality","region","postal_code","country"],"description":"The structured address, from the `PostalAddress` Yelp attaches to each photo in its schema.org `ItemList`. An odd home for it and the only one available — Yelp publishes no `LocalBusiness` block — but a structured address beats a street line scraped out of the markup. Null when the page carries no photo list."},"YelpPhoto":{"type":"object","properties":{"url":{"type":"string","nullable":true,"example":"https://s3-media0.fl.yelpcdn.com/bphoto/AbCdEf/o.jpg","description":"Full-size image (`contentUrl`)."},"thumbnail_url":{"type":"string","nullable":true},"caption":{"type":"string","nullable":true},"uploaded_at":{"type":"string","nullable":true,"example":"2024-05-14T00:00:00.000Z","description":"When the photo was uploaded, in ISO 8601. Null when Yelp published no date or one we could not read — `uploaded_at_raw` keeps whatever it actually said."},"uploaded_at_raw":{"type":"string","nullable":true,"example":"2024-05-14","description":"Yelp's own `uploadDate` string, kept alongside the parsed value so nothing is lost if our reading of its format is ever wrong."},"author":{"type":"string","nullable":true,"description":"The Yelp user who uploaded it, when the block names one."}},"required":["url","thumbnail_url","caption","uploaded_at","uploaded_at_raw","author"]},"YelpSearchResponse":{"type":"object","nullable":true,"properties":{"find_desc":{"type":"string","nullable":true,"example":"coffee"},"find_loc":{"type":"string","nullable":true,"example":"San Francisco, CA"},"start":{"type":"number","nullable":true,"example":0,"description":"The offset this search ran at, echoed back."},"pagination":{"$ref":"#/components/schemas/YelpPagination"},"count":{"type":"number","example":12,"description":"How many rows are in this response across every section. Counted from what you received rather than copied from any figure Yelp prints — `pagination.total_results` is its claim about its index and is never used to compute this."},"organic_count":{"type":"number","example":10,"description":"Rows not marked as ads."},"ad_count":{"type":"number","example":2,"description":"Rows marked as ads, by the row's flag or its section's."},"hydrated_count":{"type":"number","example":2,"description":"**How many rows carry a `business` object.** Expect this to equal `ad_count` and not `count`: Yelp hydrates organic rows client-side and serves that to neither the JSON nor the HTML. The number is here so the gap is measurable at a glance instead of being discovered by iterating."},"hydration_note":{"type":"string","example":"Organic rows carry a null searchResultBusiness: Yelp fills that in client-side and serves it to neither the JSON nor the HTML. Use the row's alias with /v1/yelp/business to fetch each business.","description":"**Why most rows have a null `business`, stated in the response body.** Organic results carry `searchResultBusiness: null` in both Yelp's JSON and its server-rendered HTML — a property of Yelp, not a gap in the scraper. Each such row still carries `business_id` and `alias`, and the alias is the input to `/v1/yelp/business`."},"sections":{"type":"array","items":{"$ref":"#/components/schemas/YelpSearchSection"},"description":"Results in Yelp's own grouping. Ads and organic results arrive in separate sections and are published that way rather than merged, so that `is_ad_only` survives; every row also carries its own `is_ad`."}},"required":["find_desc","find_loc","start","pagination","count","organic_count","ad_count","hydrated_count","hydration_note","sections"]},"YelpPagination":{"type":"object","nullable":true,"properties":{"total_results":{"type":"number","nullable":true,"example":240,"description":"How many results Yelp claims for the query. A claim about its own index, not a promise that all of them are reachable."},"results_per_page":{"type":"number","nullable":true,"example":10,"description":"Yelp's page size — the step `start` moves in. Ten on every search measured."},"start_result":{"type":"number","nullable":true,"example":0,"description":"The offset this response starts at, as Yelp reports it."}},"required":["total_results","results_per_page","start_result"],"description":"Yelp's own pagination block. Null when the response carried none — note that a genuinely empty search still returns one, so its absence means something changed rather than that nothing matched."},"YelpSearchSection":{"type":"object","properties":{"component_type":{"type":"string","nullable":true,"example":"searchResultsFooter","description":"Yelp's own name for the block of results."},"is_ad_only":{"type":"boolean","nullable":true,"example":true,"description":"Yelp's own `isAdOnly` flag for the section. The sections are kept apart rather than flattened into one list precisely so this survives."},"count":{"type":"number","example":10,"description":"How many rows are in this section's `results`."},"results":{"type":"array","items":{"$ref":"#/components/schemas/YelpSearchResult"}}},"required":["component_type","is_ad_only","count","results"]},"YelpSearchResult":{"type":"object","properties":{"business_id":{"type":"string","nullable":true,"example":"kHFPKRnQPfBnBMr4XvQKcQ","description":"Yelp's internal business id (`bizId`), published as a string. Present on unhydrated rows too, which is half of what makes them usable."},"alias":{"type":"string","nullable":true,"example":"kissaten-hifi-san-francisco","description":"**The slug to pass to `/v1/yelp/business`, and the other half of what makes an unhydrated row actionable.** Taken from the row's own `alias` when Yelp hydrated it, and otherwise parsed out of `businessUrl` — `\"/biz/kissaten-hifi-san-francisco?osq=coffee\"` becomes `\"kissaten-hifi-san-francisco\"`. Null when the link is not a `/biz/` URL at all, which is what an ad redirect looks like."},"url":{"type":"string","nullable":true,"example":"https://www.yelp.com/biz/kissaten-hifi-san-francisco?osq=coffee","description":"The row's link on Yelp, absolutised."},"is_ad":{"type":"boolean","nullable":true,"example":false,"description":"Whether the row is a paid placement. Read from the row's own `isAd`; when the row does not say, a section Yelp marks `is_ad_only` settles it as `true`, and anything else is left `null` rather than assumed organic."},"rank":{"type":"number","nullable":true,"example":3,"description":"Yelp's `ranking` for the row within the result set."},"snippet":{"type":"string","nullable":true,"description":"The review excerpt Yelp shows under the row, when it ships one. Flattened to text; this is the one field on the row whose upstream shape is not measured, so treat a null as 'not available' rather than as 'no reviews'."},"is_hydrated":{"type":"boolean","example":false,"description":"**Whether Yelp attached any business data to this row.** `false` means `business` is null because Yelp withheld it, not because the row is broken: organic rows are hydrated client-side, so a server-fetched search returns ten of them carrying an id and an alias and nothing else, while ads come filled in. Check this before reading `business`, and see `hydration_note`."},"business":{"$ref":"#/components/schemas/YelpSearchBusiness"}},"required":["business_id","alias","url","is_ad","rank","snippet","is_hydrated","business"]},"YelpSearchBusiness":{"type":"object","nullable":true,"properties":{"name":{"type":"string","nullable":true,"example":"Kissaten Hi-Fi"},"alias":{"type":"string","nullable":true,"example":"kissaten-hifi-san-francisco","description":"The business's own slug as the row states it. The row-level `alias` is the one to use — it falls back to parsing `businessUrl` when this is absent, which is the usual case."},"phone":{"type":"string","nullable":true,"example":"(415) 555-0134"},"rating":{"type":"number","nullable":true,"example":4.5},"review_count":{"type":"number","nullable":true,"example":312,"description":"**An exact count, unlike the business tier's.** Yelp's search JSON states `reviewCount` as a number, where a business page gives a logged-out client only an abbreviation (\"9.2k\"). Null when the row states it in a form that is not a number — see `review_count_display`."},"review_count_display":{"type":"string","nullable":true,"description":"The review count as a label, populated only when Yelp sent it as a string rather than a number. Present so an abbreviated value is never silently dropped, and never parsed into `review_count`."},"categories":{"type":"array","items":{"$ref":"#/components/schemas/YelpSearchCategory"},"description":"The row's Yelp categories. Empty array, never null."},"formatted_address":{"type":"string","nullable":true,"example":"600 Guerrero St, San Francisco, CA 94110","description":"Yelp's single-line address for the row (`formattedAddress`). The search tier states it as text rather than as the structured `PostalAddress` the business tier carries."},"neighborhoods":{"type":"array","items":{"type":"string"},"example":["Mission District"]},"price_range":{"type":"string","nullable":true,"example":"$$"},"service_area":{"type":"string","nullable":true,"description":"Yelp's `serviceArea` for a business that travels to its customers rather than holding a storefront. Flattened to its display name; the field's full shape is not measured, so this is null more often than the underlying data is absent."},"parent_business":{"type":"string","nullable":true,"description":"The parent listing's display name where Yelp attaches one (`parentBusiness`) — a chain's franchise pages carry it."},"alternate_names":{"type":"array","items":{"type":"string"},"description":"Other names Yelp holds for the business."},"service_offerings_count":{"type":"number","nullable":true,"description":"Yelp's `serviceOfferingsCount` for the row."}},"required":["name","alias","phone","rating","review_count","review_count_display","categories","formatted_address","neighborhoods","price_range","service_area","parent_business","alternate_names","service_offerings_count"],"description":"The business data on the row, or `null` when Yelp did not hydrate it — which is the normal outcome for organic results. Use `alias` with `/v1/yelp/business` to fill one in."},"YelpSearchCategory":{"type":"object","properties":{"title":{"type":"string","example":"Coffee & Tea"},"url":{"type":"string","nullable":true,"example":"https://www.yelp.com/search?cflt=coffee&find_loc=San+Francisco","description":"Yelp's own link for the category, absolutised."}},"required":["title","url"]},"TripadvisorListResponse":{"type":"object","nullable":true,"properties":{"geo_id":{"type":"number","example":60713,"description":"The geo you asked for, echoed back."},"location_slug":{"type":"string","example":"San_Francisco_California"},"kind":{"type":"string","enum":["hotels","restaurants","attractions"],"example":"hotels"},"offset":{"type":"number","example":0,"description":"The offset this page was read at, echoed back."},"page_size":{"type":"number","example":30,"description":"TripAdvisor's page size — the step `offset` moves in. Thirty on every list page measured."},"next_offset":{"type":"number","nullable":true,"example":30,"description":"The offset to ask for next, or `null` when this page was not full. Derived from row count, since TripAdvisor publishes no total: a full page suggests a next one exists but does not guarantee it, while `null` reliably means there is no more."},"count":{"type":"number","example":30,"description":"How many rows are in this response. Counted from what you received, never copied from a figure TripAdvisor printed."},"item_list_order":{"type":"string","nullable":true,"example":"Descending","description":"TripAdvisor's own `itemListOrder` for the page, when it states one. The site's default sort is its ranking, which is not a public formula — treat this as a label, not a sort key you could reproduce."},"coverage":{"type":"string","nullable":true,"example":"TripAdvisor publishes attractions as TouristAttraction, which carries only name and coordinates — no rating, review count, address or location id. Hotels and restaurants carry all of them.","description":"States why rows are thin, when they are. Populated for `kind=attractions`, whose rows carry name and coordinates only; null for hotels and restaurants, which carry everything."},"breadcrumbs":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/TripadvisorBreadcrumb"},"description":"TripAdvisor's own breadcrumb trail for the page — the geographic hierarchy it filed this list under. Null when the page carried no `BreadcrumbList`."},"results":{"type":"array","items":{"$ref":"#/components/schemas/TripadvisorListItem"},"description":"The page's rows, in TripAdvisor's order. Empty array, never null."}},"required":["geo_id","location_slug","kind","offset","page_size","next_offset","count","item_list_order","coverage","breadcrumbs","results"]},"TripadvisorBreadcrumb":{"type":"object","properties":{"position":{"type":"number","nullable":true,"example":1},"name":{"type":"string","nullable":true,"example":"United States"},"url":{"type":"string","nullable":true,"description":"The breadcrumb's link on TripAdvisor, absolutised."}},"required":["position","name","url"]},"TripadvisorListItem":{"type":"object","properties":{"position":{"type":"number","nullable":true,"example":1,"description":"The row's place in TripAdvisor's own ordering for this page, as it states it. Restarts per page, so row one of `offset=30` is position 1, not 31."},"schema_type":{"type":"string","nullable":true,"example":"Hotel","description":"The schema.org type TripAdvisor published the row as — `Hotel`, `Restaurant` or `TouristAttraction`. It is the honest predictor of how much of the rest of this object is populated: a `TouristAttraction` carries a name and coordinates and little else."},"name":{"type":"string","nullable":true,"example":"InterContinental Mark Hopkins"},"url":{"type":"string","nullable":true,"example":"https://www.tripadvisor.com/HotelHighlight-g60713-d115623-Reviews-InterContinental_Mark_Hopkins-San_Francisco_California.html","description":"TripAdvisor's own link for the row, absolutised. Note the prefix: hotels are linked from a list page as `HotelHighlight-`, not as the `Hotel_Review-` URL you would reach by clicking through the site."},"geo_id":{"type":"string","nullable":true,"example":"60713","description":"The `g` id in the row's URL, as a string. Usually the geo you asked for, but not always — a hotel listed under one city can carry a neighbouring city's geo."},"location_id":{"type":"string","nullable":true,"example":"115623","description":"The `d` id in the row's URL — TripAdvisor's id for this property, as a string. Not stated anywhere else in the page, so `null` when the URL was in an unexpected shape."},"rating":{"type":"number","nullable":true,"example":4.5,"description":"The row's average rating — `aggregateRating.ratingValue`. Out of five; `rating_scale_max` carries the scale. Null on attractions, which publish no rating at all."},"rating_scale_max":{"type":"number","nullable":true,"example":5,"description":"The top of the rating scale, as TripAdvisor's own `bestRating` states it — 5 here. Published rather than assumed because it is not 5 everywhere: Booking scores the same kind of hotel out of TEN, and a client that compares the two numbers without reading their scales is silently wrong by a factor of two. Null when the page states no `bestRating`."},"review_count":{"type":"number","nullable":true,"example":3309,"description":"An exact count from `aggregateRating.reviewCount`, not an abbreviation. Null on attractions."},"price_range":{"type":"string","nullable":true,"example":"$$$","description":"TripAdvisor's price band for the row, as it renders it."},"telephone":{"type":"string","nullable":true,"example":"+1 415-392-3434"},"image":{"type":"string","nullable":true,"description":"The row's lead photo, when the item carries one."},"address":{"$ref":"#/components/schemas/TripadvisorPostalAddress"},"geo":{"$ref":"#/components/schemas/TripadvisorGeo"}},"required":["position","schema_type","name","url","geo_id","location_id","rating","rating_scale_max","review_count","price_range","telephone","image","address","geo"]},"TripadvisorPostalAddress":{"type":"object","nullable":true,"properties":{"street_address":{"type":"string","nullable":true,"example":"999 California Street"},"locality":{"type":"string","nullable":true,"example":"San Francisco","description":"City — schema.org `addressLocality`."},"region":{"type":"string","nullable":true,"example":"CA","description":"State or province — schema.org `addressRegion`."},"postal_code":{"type":"string","nullable":true,"example":"94108"},"country":{"type":"string","nullable":true,"example":"US"}},"required":["street_address","locality","region","postal_code","country"],"description":"The structured address from the item's schema.org `PostalAddress`. Null when the item carries none — which is every attraction."},"TripadvisorGeo":{"type":"object","nullable":true,"properties":{"latitude":{"type":"number","nullable":true,"example":37.791553},"longitude":{"type":"number","nullable":true,"example":-122.41039}},"required":["latitude","longitude"],"description":"Latitude and longitude from the item's `GeoCoordinates`. This is the one substantial field attractions DO carry."},"TripadvisorDetailResponse":{"type":"object","nullable":true,"properties":{"geo_id":{"type":"number","example":60713,"description":"Echoed back."},"location_id":{"type":"number","example":115623,"description":"Echoed back."},"kind":{"type":"string","enum":["hotels","restaurants"],"example":"hotels"},"url":{"type":"string","nullable":true,"example":"https://www.tripadvisor.com/Hotel_Review-g60713-d115623-Reviews-Chancellor_Hotel_on_Union_Square-San_Francisco_California.html","description":"The page TripAdvisor actually served, after any redirect."},"schema_type":{"type":"string","nullable":true,"example":"LodgingBusiness","description":"The schema.org type this property published as — `LodgingBusiness` for hotels, `FoodEstablishment` for restaurants."},"name":{"type":"string","nullable":true,"example":"Chancellor Hotel on Union Square"},"rating":{"type":"number","nullable":true,"example":4.5},"rating_scale_max":{"type":"number","nullable":true,"example":5,"description":"The top of the rating scale, from this page's own `bestRating` — never assumed 5, same reasoning as `TripadvisorListItem`."},"review_count":{"type":"number","nullable":true,"example":3309},"price_range":{"type":"string","nullable":true,"example":"$$$"},"telephone":{"type":"string","nullable":true,"example":"+1 415-392-3434","description":"Measured across 10 live properties: present on 5/5 restaurants, 1/5 hotels. Null is a normal hotel page, not a missed field."},"image":{"type":"string","nullable":true},"address":{"$ref":"#/components/schemas/TripadvisorPostalAddress"},"geo":{"$ref":"#/components/schemas/TripadvisorGeo"},"breadcrumbs":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/TripadvisorBreadcrumb"},"description":"This property's breadcrumb trail. Null when the page carried no `BreadcrumbList`."}},"required":["geo_id","location_id","kind","url","schema_type","name","rating","rating_scale_max","review_count","price_range","telephone","image","address","geo","breadcrumbs"]},"BookingHotelResponse":{"type":"object","nullable":true,"properties":{"slug":{"type":"string","nullable":true,"example":"luma-san-francisco","description":"The slug that was fetched, echoed back."},"country_code":{"type":"string","nullable":true,"example":"us","description":"The country code that was fetched, echoed back."},"name":{"type":"string","example":"LUMA Hotel San Francisco","description":"Property name. This is the only non-nullable property-detail field."},"url":{"type":"string","nullable":true,"example":"https://www.booking.com/hotel/us/luma-san-francisco.html","description":"The property's page on Booking, as its own block states it."},"description":{"type":"string","nullable":true,"description":"Booking's own description of the property."},"image":{"type":"string","nullable":true,"example":"https://cf.bstatic.com/xdata/images/hotel/max500/407321240.jpg","description":"The property's lead photo."},"price_range":{"type":"string","nullable":true,"description":"schema.org `priceRange`. Frequently null — Booking prices a stay, not a hotel, so the property page often states no band at all. Use `/booking/search` with dates for real prices."},"address":{"$ref":"#/components/schemas/BookingPostalAddress"},"rating":{"type":"number","nullable":true,"example":9.1,"description":"Guest score out of `rating_scale_max`, which is 10."},"rating_scale_max":{"type":"number","nullable":true,"example":10,"description":"The top of the rating scale — **10**, from Booking's own `bestRating`. Published rather than assumed, and published on every response rather than only in these docs, because it is the field that stops `rating` being read on the wrong scale."},"review_count":{"type":"number","nullable":true,"example":1019,"description":"Total number of reviews used for the guest score. This can exceed `review_sample_size`."},"subscores":{"type":"array","items":{"$ref":"#/components/schemas/BookingSubscore"},"description":"The rating broken down — cleanliness, comfort, location, facilities, staff, value. Six on a typical property page, each out of ten. Empty array when the page shows none, never null."},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/BookingReview"},"description":"Featured guest-review sample from the property page. This is not a complete review list and may be empty."},"review_sample_size":{"type":"number","example":10,"description":"Number of reviews in the `reviews` sample."},"reviews_note":{"type":"string","example":"10 featured guest reviews, which is the curated sample Booking renders into the property page — not the full review list, and not the most recent N. The complete list is not reachable on this tier: the /reviewlist.html fragment endpoint answers 404 in every form tried, and the property page fetches no reviews over its API at all.","description":"Explains that `reviews` contains the featured sample shown on the property page, not the complete review list."}},"required":["slug","country_code","name","url","description","image","price_range","address","rating","rating_scale_max","review_count","subscores","reviews","review_sample_size","reviews_note"]},"BookingPostalAddress":{"type":"object","nullable":true,"properties":{"street_address":{"type":"string","nullable":true,"example":"100 Channel Street, San Francisco, CA 94158, United States","description":"Booking writes the whole address into `streetAddress`, city and all — so this is usually a full one-line address rather than just a street."},"locality":{"type":"string","nullable":true,"description":"City, when Booking states it separately. Often null."},"region":{"type":"string","nullable":true},"postal_code":{"type":"string","nullable":true,"example":"CA 94158"},"country":{"type":"string","nullable":true,"example":"US"}},"required":["street_address","locality","region","postal_code","country"],"description":"The structured address from the property's schema.org `PostalAddress`. Null when the block carried none."},"BookingSubscore":{"type":"object","properties":{"label":{"type":"string","example":"Staff"},"score":{"type":"number","example":9.3,"description":"Out of 10, like every guest score on Booking."}},"required":["label","score"]},"BookingReview":{"type":"object","properties":{"author":{"type":"string","nullable":true,"example":"Marta","description":"The guest's first name as Booking prints it. Null when the review block carried no name."},"country":{"type":"string","nullable":true,"example":"Poland","description":"The guest's country, read from the flag image beside their name."},"text":{"type":"string","example":"Great location, walkable to everything, and the staff were…","description":"The review body, with Booking's typographic quotation marks stripped. Non-null by construction: a featured-review block with no text is not published as a review."}},"required":["author","country","text"]},"BookingSearchResponse":{"type":"object","nullable":true,"properties":{"destination":{"type":"string","nullable":true,"example":"San Francisco"},"checkin":{"type":"string","nullable":true,"example":"2026-09-10","description":"The arrival date this search ran with, or null."},"checkout":{"type":"string","nullable":true,"example":"2026-09-12"},"adults":{"type":"number","nullable":true,"example":2},"rooms":{"type":"number","nullable":true,"example":1},"offset":{"type":"number","nullable":true,"example":0,"description":"The offset this page was read at, echoed back."},"rows_per_page":{"type":"number","nullable":true,"example":25,"description":"The page size this search asked Booking for."},"count":{"type":"number","example":25,"description":"How many properties are in this response. Counted from what you received, never copied from a figure Booking printed."},"total_results":{"type":"number","nullable":true,"example":353,"description":"Total properties Booking reports for the destination. Use it with `offset` and `rows_per_page` to plan pagination."},"results_per_page":{"type":"number","nullable":true,"example":25,"description":"The page size Booking says it applied (`nbResultsPerPage`), which is normally the `rows_per_page` you asked for. Both are published because a difference between them is worth seeing."},"has_more":{"type":"boolean","nullable":true,"example":true,"description":"Whether `offset + count` is less than `total_results`. Null when Booking provides no total."},"exhausted":{"type":"boolean","example":false,"description":"Whether pagination passed the end of the list and returned no rows."},"priced_for_stay":{"type":"boolean","example":false,"description":"Whether `checkin` and `checkout` were supplied. Dated searches include stay availability and prices; dateless searches do not."},"pricing_note":{"type":"string","example":"**No dates were given, so no row carries a price.** Booking returns availability and pricing only for a specific stay — a dateless search returns the properties and nothing about what they cost. Pass `checkin` and `checkout` to get prices. An absent `price` here is the question you asked, not missing data.","description":"Explains whether prices are present based on the request's check-in and check-out dates."},"results":{"type":"array","items":{"$ref":"#/components/schemas/BookingSearchResult"},"description":"The page's properties, in Booking's own ranking — which includes its paid placements. Every row carries `is_ad`. Empty array, never null."}},"required":["destination","checkin","checkout","adults","rooms","offset","rows_per_page","count","total_results","results_per_page","has_more","exhausted","priced_for_stay","pricing_note","results"]},"BookingSearchResult":{"type":"object","properties":{"property_id":{"type":"string","nullable":true,"example":"56066","description":"Booking's internal id for the property, published as a string. Not accepted by any endpoint here — `slug` is what `/booking/hotel` takes — but it is the stable key across dated and dateless searches."},"slug":{"type":"string","nullable":true,"example":"club-quarters-san-francisco","description":"**The property's slug — Booking's `pageName`, and the input to `/booking/hotel`.** Together with `country_code` it is everything needed to fetch the full property page, which is where the guest reviews and the subscore breakdown live."},"country_code":{"type":"string","nullable":true,"example":"us","description":"The property's country, from its location. The second half of what `/booking/hotel` needs."},"url":{"type":"string","nullable":true,"example":"https://www.booking.com/hotel/us/club-quarters-san-francisco.html","description":"The property's page on Booking, built from `country_code` and `slug`. Null when the row states no country, since a `/hotel//slug` path would be a link to nowhere."},"name":{"type":"string","nullable":true,"example":"Club Quarters Hotel"},"description":{"type":"string","nullable":true,"description":"Booking's one-paragraph blurb for the property."},"star_rating":{"type":"number","nullable":true,"example":4,"description":"Property star classification out of `star_rating_scale_max`, which is 5."},"star_rating_scale_max":{"type":"number","example":5,"description":"Always 5. Stated per row rather than left to the documentation, because the field beside it is out of ten."},"review_score":{"type":"number","nullable":true,"example":8.2,"description":"Guest review score out of `review_score_scale_max`, which is 10."},"review_score_scale_max":{"type":"number","example":10,"description":"Always 10."},"review_count":{"type":"number","nullable":true,"example":5043,"description":"How many guest reviews the score is computed over — exact, from Booking's own JSON."},"external_review_score":{"type":"number","nullable":true,"example":8.76,"description":"A score Booking sources from outside its own guests, when it holds one. Also out of ten, and computed over a different (usually much smaller) population — see `external_review_count`. Do not average it with `review_score`."},"external_review_count":{"type":"number","nullable":true,"example":37},"photo_url":{"type":"string","nullable":true,"example":"https://cf.bstatic.com/xdata/images/hotel/square600/282380075.webp","description":"The property's lead photo, absolutised. Booking states these as relative paths (`/xdata/images/hotel/square600/…`) and serves them from `cf.bstatic.com`; the host is added here so the URL is usable as it stands."},"destination_id":{"type":"number","nullable":true,"example":20015732,"description":"Booking's `ufi` — its internal id for the city or area the property sits in. Useful as a grouping key; no endpoint here takes one."},"accommodation_type_id":{"type":"number","nullable":true,"example":204,"description":"Booking's own code for the kind of property (hotel, apartment, hostel…). Published as the opaque number it is — Booking publishes no public mapping for it, and inventing labels would be inventing meaning."},"is_closed":{"type":"boolean","nullable":true},"is_sold_out":{"type":"boolean","nullable":true,"description":"Whether the property has no availability for the search. Meaningful only on a dated search — see `priced_for_stay`."},"is_sustainable":{"type":"boolean","nullable":true,"description":"Booking's own sustainability flag for the property."},"is_ad":{"type":"boolean","nullable":true,"example":false,"description":"**Whether this row bought its position.** Booking marks its own paid placements (`showNativeAdLabel`), and a caller ranking properties needs to know which ones are ads. Null when the row says nothing either way, rather than assumed organic."},"native_ad_id":{"type":"string","nullable":true,"description":"Booking's id for the placement, when the row is an ad."},"is_preferred":{"type":"boolean","nullable":true,"description":"Booking's Preferred Partner programme — a commercial relationship that affects ranking, distinct from a paid ad slot."},"is_preferred_plus":{"type":"boolean","nullable":true},"location":{"$ref":"#/components/schemas/BookingSearchLocation"},"price":{"$ref":"#/components/schemas/BookingSearchPrice"}},"required":["property_id","slug","country_code","url","name","description","star_rating","star_rating_scale_max","review_score","review_score_scale_max","review_count","external_review_score","external_review_count","photo_url","destination_id","accommodation_type_id","is_closed","is_sold_out","is_sustainable","is_ad","native_ad_id","is_preferred","is_preferred_plus","location","price"]},"BookingSearchLocation":{"type":"object","nullable":true,"properties":{"address":{"type":"string","nullable":true,"example":"424 Clay Street"},"city":{"type":"string","nullable":true,"example":"San Francisco"},"country_code":{"type":"string","nullable":true,"example":"us"},"latitude":{"type":"number","nullable":true,"example":37.795},"longitude":{"type":"number","nullable":true,"example":-122.4},"display_location":{"type":"string","nullable":true,"example":"Financial District","description":"The neighbourhood label Booking prints on the card — a different field from `city`, and the more useful one for a human."},"distance_from_centre":{"type":"string","nullable":true,"example":"0.6 miles from downtown","description":"Booking's own `mainDistance`, as prose. A string because Booking states it as one, units and all; parsing it into a number would mean guessing at the unit and the reference point."},"public_transport_distance":{"type":"string","nullable":true,"description":"Booking's transit-proximity blurb, when it ships one."},"is_centrally_located":{"type":"boolean","nullable":true},"is_within_best_location_score_area":{"type":"boolean","nullable":true,"description":"Booking's own flag for the part of town its location scores favour."}},"required":["address","city","country_code","latitude","longitude","display_location","distance_from_centre","public_transport_distance","is_centrally_located","is_within_best_location_score_area"],"description":"Where the property is. Booking splits this across two objects on the row — a structured address with coordinates, and the display copy about neighbourhood and distance — and they are merged here, because they answer one question."},"BookingSearchPrice":{"type":"object","nullable":true,"properties":{"per_night_display":{"type":"string","nullable":true,"example":"$193","description":"The average nightly price, as Booking formats it for display — currency symbol included, from `averagePricePerNight.amountRounded`. A string, because that is the form Booking states it in."},"stay_total_display":{"type":"string","nullable":true,"example":"$386","description":"The total for the whole stay, formatted, from the first room offer's `finalPrice`."},"stay_total_amount":{"type":"number","nullable":true,"example":386,"description":"The same total as a number, when Booking states one. Pair it with `currency` — it carries no currency of its own."},"currency":{"type":"string","nullable":true,"example":"USD"}},"required":["per_night_display","stay_total_display","stay_total_amount","currency"],"description":"Stay price for the requested dates. Null on dateless searches; see `priced_for_stay` and `pricing_note`."},"BuiltWithProfileResponse":{"type":"object","nullable":true,"properties":{"domain":{"type":"string"},"url":{"type":"string","format":"uri"},"technology_spend_monthly_usd":{"type":"number","nullable":true,"description":"BuiltWith's estimated minimum monthly spend across detected paid technologies.","example":46034},"technologies":{"type":"array","items":{"$ref":"#/components/schemas/BuiltWithTechnology"}},"categories":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"technology_count":{"type":"integer","minimum":0}},"required":["name","technology_count"]}},"counts":{"type":"object","properties":{"total":{"type":"integer","minimum":0},"visible":{"type":"integer","minimum":0},"redacted":{"type":"integer","minimum":0},"current":{"type":"integer","minimum":0},"historical":{"type":"integer","minimum":0}},"required":["total","visible","redacted","current","historical"]}},"required":["domain","url","technology_spend_monthly_usd","technologies","categories","counts"]},"BuiltWithTechnology":{"type":"object","properties":{"name":{"type":"string","nullable":true,"description":"The public technology name. Null with `redacted: true` means BuiltWith counts the detection but hides its name on the anonymous profile.","example":"Google Analytics"},"category":{"type":"string","nullable":true},"subcategories":{"type":"array","items":{"type":"string"}},"first_detected":{"type":"string","nullable":true},"last_detected":{"type":"string","nullable":true},"current":{"type":"boolean"},"historical":{"type":"boolean"},"free":{"type":"boolean"},"premium":{"type":"boolean"},"newly_detected":{"type":"boolean"},"redacted":{"type":"boolean"},"technology_url":{"type":"string","nullable":true},"icon_url":{"type":"string","nullable":true}},"required":["name","category","subcategories","first_detected","last_detected","current","historical","free","premium","newly_detected","redacted","technology_url","icon_url"]},"TrustpilotCompanyResponse":{"type":"object","nullable":true,"properties":{"domain":{"type":"string","example":"www.amazon.com","description":"The domain you asked for, echoed back."},"page":{"type":"number","example":1,"description":"The page you asked for, echoed back. Compare it with `pagination.current_page` to see which page Trustpilot actually served."},"sort":{"type":"string","nullable":true,"enum":["recency","relevance",null],"example":null,"description":"The sort you asked for, or null if you asked for none. See `effective_sort` for what the ordering actually is."},"effective_sort":{"type":"string","enum":["recency","relevance"],"example":"recency","description":"**What these reviews are actually ordered by.** Trustpilot's default is `recency`, so this is `recency` whenever you sent no `sort` — a caller reading only `sort: null` cannot tell recency from unknown, which is the whole reason this field exists."},"page_size":{"type":"number","example":20,"description":"Reviews per page, taken from Trustpilot's own `perPage` when the page states one and falling back to 20, which is what every page measured has stated."},"total_pages":{"type":"number","nullable":true,"example":1498,"description":"**How many pages of reviews there are, from Trustpilot's own count.** One company measured 1,498. Computed over the FILTERED set — see `total_filtered_reviews`."},"has_more":{"type":"boolean","nullable":true,"example":true,"description":"**Whether another page exists**, computed as `page < total_pages` from Trustpilot's own page count rather than from 'this page came back full'. A full page is not evidence of a next one, and the last page of a 1,498-page company is usually short. Null when Trustpilot stated no page count."},"business_unit":{"$ref":"#/components/schemas/TrustpilotBusinessUnit"},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/TrustpilotReview"},"description":"This page's reviews, 20 to a page, in `effective_sort` order. Empty array — never null — for a company with none, which is a fact about the company rather than a failure."},"count":{"type":"number","example":20,"description":"How many reviews are in this response. Counted from what you received, never copied from a figure Trustpilot printed."},"pagination":{"$ref":"#/components/schemas/TrustpilotPagination"},"review_statistics":{"$ref":"#/components/schemas/TrustpilotReviewStatistics"},"total_reviews":{"type":"number","nullable":true,"example":45550,"description":"**Every review the company has — the larger of the two totals, and the one you CANNOT page through.** Measured 45,550 against 29,953 filtered on the same page. Both are published because publishing either alone would make the other look like a bug."},"total_filtered_reviews":{"type":"number","nullable":true,"example":29953,"description":"**Reviews matching Trustpilot's default language filter — the smaller total, and the one paging actually walks.** It is what `pagination.total_count` counts and what `total_pages` is computed from, so it is the number to size a crawl with. The difference between this and `total_reviews` is reviews in other languages; `review_statistics.review_languages` breaks it down."}},"required":["domain","page","sort","effective_sort","page_size","total_pages","has_more","business_unit","reviews","count","pagination","review_statistics","total_reviews","total_filtered_reviews"]},"TrustpilotBusinessUnit":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"47b8e2f0000064000502b1c3","description":"Trustpilot's internal id for the company, as a string. No endpoint here takes one — `identifying_name` is the key — but it is stable across renames of the domain."},"identifying_name":{"type":"string","nullable":true,"example":"www.amazon.com","description":"**The company's key on Trustpilot, and the exact string `/trustpilot/company` takes as `domain`.** Usually a hostname, `www.` and all — but about 0.25% of keys carry a path as well (`rac.co.uk/insurance`), and that path is part of the key rather than decoration. This is the canonical spelling: if you asked under a different one, Trustpilot redirected you here."},"display_name":{"type":"string","nullable":true,"example":"Amazon"},"url":{"type":"string","nullable":true,"example":"https://www.trustpilot.com/review/www.amazon.com","description":"The company's page on Trustpilot, built from `identifying_name`."},"review_count":{"type":"number","nullable":true,"example":48410,"description":"**The company's own headline review count, and it is a third number — not `total_reviews` and not `total_filtered_reviews`.** Trustpilot states all three on one page (the capture in apps/worker/tests/test_trustpilot_parsers.py has 48,410 here against 45,550 and 29,953 below), so they are published separately rather than reconciled into a single figure this API cannot justify."},"review_count_last_12_months":{"type":"number","nullable":true,"example":8925,"description":"Reviews in the last twelve months. The useful one for judging whether a rating is current or a decade of accumulated history."},"country_code":{"type":"string","nullable":true,"example":"GB"},"is_claimed":{"type":"boolean","nullable":true,"description":"Whether the company has claimed its profile. An unclaimed profile cannot reply to reviews, which is the context for a `reply_percentage` of zero."},"is_closed":{"type":"boolean","nullable":true},"is_temporarily_closed":{"type":"boolean","nullable":true},"is_collecting_reviews":{"type":"boolean","nullable":true,"description":"Whether Trustpilot is still accepting reviews for this company."},"locations_count":{"type":"number","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/TrustpilotCategoryTag"},"description":"The categories Trustpilot files the company under. Each `id` is a category slug — the input to `/trustpilot/category` — so this is the second way to walk the site: from one company out to its peers. Empty array, never null."},"contact_info":{"$ref":"#/components/schemas/TrustpilotContactInfo"},"consumer_alerts":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}},"description":"**Trustpilot's own warnings about the company** — the banners it puts on profiles it has taken action against. Empty for every company captured, which is why the alert objects inside are passed through exactly as Trustpilot ships them instead of being renamed into fields nobody has seen. `has_consumer_alerts` is the part you can rely on."},"has_consumer_alerts":{"type":"boolean","example":false,"description":"Whether Trustpilot has posted any alert on this company, computed from the array above. Published as its own boolean so the one fact that matters survives whatever shape the alerts themselves take."},"breadcrumb":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"nullable":true}],"description":"Trustpilot's own category trail for the company, republished unchanged. It was absent from every capture, so there is no measured field list to rename it into — and inventing one would publish a column of nulls and call it a schema. Use `categories` for the category ids."},"activity":{"$ref":"#/components/schemas/TrustpilotActivity"}},"required":["id","identifying_name","display_name","url","review_count","review_count_last_12_months","country_code","is_claimed","is_closed","is_temporarily_closed","is_collecting_reviews","locations_count","categories","contact_info","consumer_alerts","has_consumer_alerts","breadcrumb","activity"],"description":"**The company's record** — its key, its counts, its categories, its claim status and its reply behaviour. This is the anchor the rest of the response hangs off, so it is the one non-nullable object here."},"TrustpilotCategoryTag":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"shoe_store","description":"The category slug, which is what `/trustpilot/category` takes. Trustpilot spells the field `id` on a company record and `categoryId` on a search row; both arrive here as `id`."},"name":{"type":"string","nullable":true,"example":"Shoe Store","description":"The category's display name. **Null on a search result's `categories`**, where Trustpilot states only the id and the primary flag — the id is still the slug, so the composition works either way."},"is_primary":{"type":"boolean","nullable":true,"example":false,"description":"Whether this is the category Trustpilot files the company under first. A company sits in several."}},"required":["id","name","is_primary"]},"TrustpilotContactInfo":{"type":"object","nullable":true,"properties":{"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"country":{"type":"string","nullable":true,"example":"GB"}},"required":["email","phone","country"],"description":"The contact details Trustpilot publishes. Trustpilot writes empty strings for details a company has not listed, and those arrive here as `null`; the whole object is null when it states none of them."},"TrustpilotActivity":{"type":"object","nullable":true,"properties":{"is_claimed":{"type":"boolean","nullable":true,"description":"Whether the company has claimed its Trustpilot profile. Mirrors `is_claimed` on the business record itself."},"claimed_date":{"type":"string","nullable":true,"example":"2015-02-18T19:08:43.000Z","description":"**When they claimed it**, as an ISO timestamp. Not rendered anywhere on Trustpilot's own page."},"previously_claimed":{"type":"boolean","nullable":true,"description":"Whether the profile was ever claimed and then let go."},"is_using_paid_features":{"type":"boolean","nullable":true},"has_subscription":{"type":"boolean","nullable":true,"description":"Whether the company pays Trustpilot. Worth reading beside `reply_behavior`: invitation-driven review collection is a paid feature, and it moves both the volume and the average rating."},"reply_behavior":{"$ref":"#/components/schemas/TrustpilotReplyBehavior"}},"required":["is_claimed","claimed_date","previously_claimed","is_using_paid_features","has_subscription","reply_behavior"],"description":"**Claim status, claim date and reply behaviour** — see `reply_behavior`, which is the part of this response Trustpilot's own page does not render at all."},"TrustpilotReplyBehavior":{"type":"object","nullable":true,"properties":{"reply_percentage":{"type":"number","nullable":true,"example":12,"description":"**What share of its reviews the company answers.** Trustpilot's own `replyPercentage`."},"average_days_to_reply":{"type":"number","nullable":true,"example":3,"description":"How long it takes them, in days, on average."},"negative_reviews_with_replies_count":{"type":"number","nullable":true,"example":41,"description":"How many negative reviews got an answer — the number that separates a company replying to its fans from one handling complaints."},"last_reply_to_negative_review":{"type":"string","nullable":true,"description":"When the company last answered a negative review, as an ISO timestamp. Null when it never has — which, next to a non-zero `negative_reviews_with_replies_count`, is Trustpilot stating it does not hold a date rather than a contradiction."}},"required":["reply_percentage","average_days_to_reply","negative_reviews_with_replies_count","last_reply_to_negative_review"],"description":"**How the company handles its reviews — the most distinctive data on Trustpilot, and nothing on their own page shows it.** It rides inside the page's `__NEXT_DATA__` blob and costs nothing extra to read: reply rate, average days to reply, how many negative reviews were answered, and when the last one was.\n\nThis is a measurement of the COMPANY rather than of any review, and it is what turns a review dump into reputation analysis. Null when Trustpilot states none of the four."},"TrustpilotReview":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"6a80e73565b884964e2bc035"},"title":{"type":"string","nullable":true,"example":"Don't lie !!"},"text":{"type":"string","nullable":true,"description":"The review body as written. Null when the reviewer left a rating and a title and no prose, which is common at both ends of the scale."},"rating":{"type":"number","nullable":true,"example":1,"description":"**The reviewer's stars, OUT OF FIVE** — see `rating_scale_max`. The Booking endpoints in this catalogue score out of ten, so read the scale before comparing the two."},"rating_scale_max":{"type":"number","example":5,"description":"Always 5 on Trustpilot. Stated on every review rather than left to the documentation, because a neighbouring endpoint's identical-looking `rating` is out of ten."},"likes":{"type":"number","nullable":true,"example":0,"description":"How many readers marked the review useful."},"source":{"type":"string","nullable":true,"example":"Organic","description":"**How the review was collected, in Trustpilot's own words.** `Organic` means the reviewer came on their own; an invited review was solicited by the company, which is a paid Trustpilot feature and skews positive. Read it together with `verification_source`."},"language":{"type":"string","nullable":true,"example":"en","description":"The review's language. This is the axis the default filter works on — see `total_filtered_reviews` on the response."},"location":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"nullable":true}],"description":"Which of the company's locations the review is about, for companies with more than one. Null on every review captured, so it is republished exactly as Trustpilot ships it rather than renamed into fields nobody has seen."},"dates":{"$ref":"#/components/schemas/TrustpilotReviewDates"},"has_reply":{"type":"boolean","example":false,"description":"**Whether the company answered this review.** Read from the presence of Trustpilot's reply block rather than from the fields inside it, so it stays trustworthy even if the reply's own shape changes. Every review in the capture had none, which is what makes the belt-and-braces worth the field."},"reply":{"$ref":"#/components/schemas/TrustpilotReviewReply"},"is_verified":{"type":"boolean","nullable":true,"example":false,"description":"**Whether Trustpilot verified the reviewer actually did business with the company.** Lifted out of Trustpilot's `labels.verification` rather than left inside an opaque blob, because it is the field review-quality analysis turns on."},"verification_source":{"type":"string","nullable":true,"example":"invitation","description":"How it was verified — `invitation` means the company asked this person for the review. A wall of verified, invited five-star reviews is a different signal from a wall of organic ones, and this is the field that tells them apart."},"is_pending":{"type":"boolean","nullable":true,"description":"Trustpilot is still processing the review."},"is_filtered":{"type":"boolean","nullable":true,"description":"Trustpilot's own `filtered` flag for the review. Its filtered set is what `total_filtered_reviews` counts."},"consumer":{"$ref":"#/components/schemas/TrustpilotConsumer"}},"required":["id","title","text","rating","rating_scale_max","likes","source","language","location","dates","has_reply","reply","is_verified","verification_source","is_pending","is_filtered","consumer"]},"TrustpilotReviewDates":{"type":"object","nullable":true,"properties":{"experienced_date":{"type":"string","nullable":true,"example":"2026-08-15T00:00:00.000Z","description":"**When the reviewer says the experience happened**, which is not when they wrote about it. This is the date to use for anything about the business; `published_date` is about the review."},"published_date":{"type":"string","nullable":true,"example":"2026-08-16T00:24:53.000Z","description":"When the review went up. This is what `sort=recency` — Trustpilot's default — orders by."},"updated_date":{"type":"string","nullable":true,"description":"When the reviewer last edited it, when they have."}},"required":["experienced_date","published_date","updated_date"],"description":"When it happened, when it was published and when it was last edited — three different dates, and the first two routinely differ."},"TrustpilotReviewReply":{"type":"object","nullable":true,"properties":{"text":{"type":"string","nullable":true,"description":"What the company wrote back."},"published_date":{"type":"string","nullable":true,"description":"When they wrote it, as an ISO timestamp."}},"required":["text","published_date"],"description":"The company's response, when there is one — often null. `has_reply` is the reliable signal; this is the content."},"TrustpilotConsumer":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"6379404e69c66a0012fb0e39"},"display_name":{"type":"string","nullable":true,"example":"Rosemary Hart"},"review_count":{"type":"number","nullable":true,"example":5,"description":"**How many reviews this person has written on Trustpilot, across all companies.** The single most useful field for weighting a review: a reviewer with one is not a reviewer with two hundred."},"country_code":{"type":"string","nullable":true,"example":"GB"}},"required":["id","display_name","review_count","country_code"],"description":"Who wrote it, and how many reviews they have written in total. Null when the review carried no reviewer record."},"TrustpilotPagination":{"type":"object","nullable":true,"properties":{"current_page":{"type":"number","nullable":true,"example":1,"description":"**The page Trustpilot says it served**, which is worth comparing with the `page` you asked for: an out-of-range page is answered with a page that exists rather than with an error."},"per_page":{"type":"number","nullable":true,"example":20},"total_count":{"type":"number","nullable":true,"example":29953,"description":"**How many reviews this pagination walks — the FILTERED total, not every review the company has.** It equals `total_filtered_reviews`, and `total_pages` is computed from it. The larger `total_reviews` is not reachable by paging."},"total_pages":{"type":"number","nullable":true,"example":1498}},"required":["current_page","per_page","total_count","total_pages"],"description":"Trustpilot's own pagination block. Null when the page carried none."},"TrustpilotReviewStatistics":{"type":"object","properties":{"rating_distribution":{"type":"array","items":{"$ref":"#/components/schemas/TrustpilotRatingBucket"},"description":"**How the company's reviews split across one to five stars** — the shape behind the average, and the part an average cannot tell you. Empty array when the page states none, never null."},"has_multiple_languages":{"type":"boolean","nullable":true,"description":"Whether the company has reviews in more than one language. When it does, `total_reviews` and `total_filtered_reviews` will differ."},"review_languages":{"type":"array","items":{"$ref":"#/components/schemas/TrustpilotReviewLanguage"},"description":"Per-language review counts, including Trustpilot's own `all` row. This is where the gap between the two totals becomes legible."}},"required":["rating_distribution","has_multiple_languages","review_languages"],"description":"The star distribution and the per-language breakdown for the whole company, not for this page."},"TrustpilotRatingBucket":{"type":"object","properties":{"rating":{"type":"number","nullable":true,"example":1},"count":{"type":"number","nullable":true,"example":32298}},"required":["rating","count"]},"TrustpilotReviewLanguage":{"type":"object","properties":{"iso_code":{"type":"string","nullable":true,"example":"all","description":"The language, with `all` as Trustpilot's own row for the whole set."},"review_count":{"type":"number","nullable":true,"example":45550}},"required":["iso_code","review_count"]},"TrustpilotSearchResponse":{"type":"object","nullable":true,"properties":{"query":{"type":"string","example":"insurance","description":"The query you asked for, echoed back."},"page":{"type":"number","example":1,"description":"The page you asked for, echoed back."},"page_size":{"type":"number","example":10,"description":"**Results per page, and it is 10 — not 20.** Search is the only listing on Trustpilot at this size; the company review list and the category directory are both 20. Taken from Trustpilot's own `pagination.pageSize` where the page states one, falling back to 10."},"count":{"type":"number","example":10,"description":"How many companies are in this response. Counted from what you received, never copied from a figure Trustpilot printed — and **summing it across pages overcounts**, because search pages repeat companies. See `pages_overlap`."},"total_pages":{"type":"number","nullable":true,"example":978,"description":"**How many pages of results there are, from Trustpilot's own count.** 978 on the measured query. This, not the raw `hasMore` flag, is what says whether a walk is finished."},"total_results":{"type":"number","nullable":true,"example":9779,"description":"**How many companies Trustpilot says match** — 9,779 on the measured query. Size the walk from it, but expect the distinct companies you actually collect to come in under it, because pages overlap."},"has_more":{"type":"boolean","nullable":true,"example":true,"description":"**Whether another page exists — computed here, and deliberately NOT Trustpilot's own `hasMore`.** That flag was measured as `false` on page 1 of a search reporting 978 total pages, so whatever it tracks it is not pagination; republishing it would stop every caller after ten results. This is `pagination.current_page < total_pages`, and the raw flag is not published anywhere in this response. Null when Trustpilot stated no page count."},"pages_overlap":{"type":"boolean","example":true,"description":"**Search pages repeat companies, and this says so rather than leaving it to be discovered as a count that does not add up.** Measured: page 2 shared 2 of its 10 companies with page 1 (`goskippy.com`, `www.admiral.com`), compared by key. Search ranking is not a stable sequence — the company review list and the category directory both page with ZERO overlap, and search does not.\n\nSo a walk over more than one page must deduplicate on `business_unit_id`, and the sum of `count` across pages is an overcount rather than a total."},"results":{"type":"array","items":{"$ref":"#/components/schemas/TrustpilotSearchResult"},"description":"This page's companies, 10 to a page, in Trustpilot's own relevance order. Every row carries `identifying_name`, which is what `/trustpilot/company` takes. Empty array — never null — for a query nothing matches, which is an answer rather than a failure."},"search_mode":{"type":"string","nullable":true,"example":"companies","description":"Which search Trustpilot decided it was running. Reported as it arrives; no parameter here sets it."},"suggested_categories":{"type":"array","items":{"$ref":"#/components/schemas/TrustpilotCategoryTag"},"description":"**Trustpilot's own guess at which categories the query belongs to**, and each `id` is a slug `/trustpilot/category` takes. So a vague query turns into a directory to walk: search `insurance`, take a suggested category, list it twenty ranked companies at a time. Empty array, never null."},"filters":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"nullable":true}],"description":"The filter state Trustpilot says it applied to this search, republished unchanged. This endpoint exposes no filter parameters, and no capture has shown the block populated — so there is no measured field list to rename it into."},"usage_note":{"type":"string","example":"Each result's `identifying_name` is the exact value `/trustpilot/company` takes as `domain`. Pages can repeat companies — deduplicate on `business_unit_id` when walking more than one.","description":"**How to use these rows, stated in the response body** — that each one feeds `/trustpilot/company` verbatim, and that a multi-page walk has to deduplicate. Both belong with the data rather than only in these docs."},"pagination":{"$ref":"#/components/schemas/TrustpilotSearchPagination"}},"required":["query","page","page_size","count","total_pages","total_results","has_more","pages_overlap","results","search_mode","suggested_categories","filters","usage_note","pagination"]},"TrustpilotSearchResult":{"type":"object","properties":{"business_unit_id":{"type":"string","nullable":true,"example":"5060f52a00006400051bf99f","description":"**Trustpilot's internal id for the company — and the field to deduplicate a multi-page walk on.** Search pages overlap: page 2 of a measured query repeated 2 of its 10 companies from page 1. This is the stable identity to compare, because it survives a company changing its domain."},"identifying_name":{"type":"string","nullable":true,"example":"rac.co.uk/insurance","description":"**The company's key, and the exact value `/trustpilot/company` takes as `domain`.** That is what search is for: type a name, take this string, read the reviews. Nothing is constructed and nothing is guessed.\n\nThe example is not decorative. `rac.co.uk/insurance` is genuinely in the first page of results for `insurance`, and it is a different company from `rac.co.uk` — 18,579 reviews against 211,451. Pass this string through byte for byte; anything that trims it at the first `/` will fetch the wrong company and get a 200 for it."},"display_name":{"type":"string","nullable":true,"example":"RAC Car Insurance"},"url":{"type":"string","nullable":true,"example":"https://www.trustpilot.com/review/rac.co.uk/insurance","description":"The company's page on Trustpilot, built from `identifying_name`. For the company's own site, see `contact.website`."},"trust_score":{"type":"number","nullable":true,"example":4.4,"description":"**Trustpilot's TrustScore for the company, out of five** — the underlying number, to one decimal. Sort and compare on this; `stars` is its rounded display form."},"stars":{"type":"number","nullable":true,"example":4.5,"description":"The star rating Trustpilot renders, out of five, rounded to the half star. Not a second opinion — a 4.4 `trust_score` displays as 4.5."},"rating_scale_max":{"type":"number","example":5,"description":"Always 5, for both numbers above."},"review_count":{"type":"number","nullable":true,"example":18579,"description":"How many reviews the score is computed over."},"location":{"$ref":"#/components/schemas/TrustpilotSearchLocation"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/TrustpilotCategoryTag"},"description":"The categories Trustpilot files the company under. Each `id` is a slug `/trustpilot/category` takes, so a search result branches sideways into a whole directory. Trustpilot states only the id and the primary flag on a search row, so `name` is null here. Empty array, never null."},"is_claimed":{"type":"boolean","nullable":true,"description":"Whether the company has claimed its Trustpilot profile. Fetch it with `/trustpilot/company` for the claim date and its reply behaviour."},"is_recommended_in_categories":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"nullable":true}],"description":"Trustpilot's own `isRecommendedInCategories` for the row, republished unchanged. It states which categories it promotes the company in, and no capture has shown its inner shape — renaming fields nobody has seen would mean inventing them."},"logo_url":{"type":"string","nullable":true,"example":"https://s3-eu-west-1.amazonaws.com/tpd/x/198x149.png","description":"The company's logo. Trustpilot states these protocol-relative (`//s3-eu-west-1…`); the scheme is added here so the URL is usable as it stands."},"contact":{"$ref":"#/components/schemas/TrustpilotSearchContact"}},"required":["business_unit_id","identifying_name","display_name","url","trust_score","stars","rating_scale_max","review_count","location","categories","is_claimed","is_recommended_in_categories","logo_url","contact"]},"TrustpilotSearchLocation":{"type":"object","nullable":true,"properties":{"city":{"type":"string","nullable":true,"example":"London"},"country":{"type":"string","nullable":true,"example":"GB","description":"The company's country as the search row states it. The category listing states an `address` here instead — same site, different row."}},"required":["city","country"],"description":"Where the company is, as the search row states it. Null when the row carries no location at all."},"TrustpilotSearchContact":{"type":"object","nullable":true,"properties":{"website":{"type":"string","nullable":true,"example":"https://www.sterling-insurance.co.uk","description":"**The company's OWN website** — not its Trustpilot page, which is `url`. The two are close enough to be confused and only this one leaves the site."},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true}},"required":["website","email","phone"],"description":"**The company's own website, email and phone, on the search row itself** — no second request. Null when Trustpilot states none of the three. (The category listing's `contact` was empty in every capture and is republished raw there; this one is real.)"},"TrustpilotSearchPagination":{"type":"object","nullable":true,"properties":{"current_page":{"type":"number","nullable":true,"example":1,"description":"The page Trustpilot says it served. `has_more` is computed from this and `total_pages`."},"page_size":{"type":"number","nullable":true,"example":10,"description":"Trustpilot's own `pageSize` — 10 on search."},"total_pages":{"type":"number","nullable":true,"example":978},"total_results":{"type":"number","nullable":true,"example":9779}},"required":["current_page","page_size","total_pages","total_results"],"description":"Trustpilot's own pagination block, minus its `hasMore` — see `has_more`. Null when the page carried none."},"TrustpilotCategoryResponse":{"type":"object","nullable":true,"properties":{"slug":{"type":"string","example":"bank","description":"The category you asked for, echoed back."},"page":{"type":"number","example":1,"description":"**The page Trustpilot says it served**, taken from the directory page's own `page` rather than from your request. Compare it with `requested_page`: they differ exactly when Trustpilot clamps a page past the end of the category, which it answers with a page that exists rather than with an error."},"requested_page":{"type":"number","example":1,"description":"The page you asked for, echoed back."},"page_clamped":{"type":"boolean","example":false,"description":"**Whether Trustpilot served a different page than the one you asked for**, computed as `page !== requested_page`. It is how an out-of-range walk announces itself — the response is a full, valid directory page, just not the one requested, so a walk that only counted rows would loop over the last page forever."},"country":{"type":"string","nullable":true,"example":"US","description":"The country filter this listing ran with, or null if you sent none."},"count":{"type":"number","example":20,"description":"How many companies are in this response. Counted from what you received, never copied from a figure Trustpilot printed."},"total_hits":{"type":"number","nullable":true,"example":1713,"description":"**How many companies Trustpilot holds for this category** — its own `totalHits`, 1,713 on the sampled category. Use it to size the walk rather than discovering the end by hitting it."},"filters":{"$ref":"#/components/schemas/TrustpilotCategoryFilters"},"results":{"type":"array","items":{"$ref":"#/components/schemas/TrustpilotCategoryResult"},"description":"The page's companies, in Trustpilot's own order. Every row carries `identifying_name`, which is what `/trustpilot/company` takes. Empty array, never null."},"usage_note":{"type":"string","example":"Each result's `identifying_name` is the exact value `/trustpilot/company` takes as `domain` — walk a category and fetch every company on it without constructing a URL.","description":"**How to use these rows, stated in the response body.** The one thing a caller has to know about this endpoint is that its output feeds `/trustpilot/company` verbatim, and that belongs with the data rather than only in these docs."}},"required":["slug","page","requested_page","page_clamped","country","count","total_hits","filters","results","usage_note"]},"TrustpilotCategoryFilters":{"type":"object","nullable":true,"properties":{"country":{"type":"string","nullable":true,"example":"US"},"sort":{"type":"string","nullable":true,"example":"recommended","description":"How Trustpilot ordered the directory. `recommended` is its default and it is not a public formula — read it as a label, not as a sort key you could reproduce. This endpoint exposes no sort parameter, because an unknown value on this site comes back 200 with the default ordering and nothing has been measured beyond it."}},"required":["country","sort"],"description":"The filter state Trustpilot says it applied to this listing. Null when the page states none."},"TrustpilotCategoryResult":{"type":"object","properties":{"business_unit_id":{"type":"string","nullable":true,"example":"5060f52a00006400051bf99f","description":"Trustpilot's internal id for the company, as a string."},"identifying_name":{"type":"string","nullable":true,"example":"happen.com","description":"**The company's key, and the exact value `/trustpilot/company` takes as `domain`.** This is what makes the two endpoints compose: walk a category, take this string, fetch the company's reviews. No URL is ever constructed and no slug is ever guessed — which matters on a site where the `www.` prefix is load-bearing and where ~0.25% of keys are a hostname PLUS a path (`rac.co.uk/insurance`, a different company from `rac.co.uk`). Pass it through unchanged."},"display_name":{"type":"string","nullable":true,"example":"Happen Bank"},"url":{"type":"string","nullable":true,"example":"https://www.trustpilot.com/review/happen.com","description":"The company's Trustpilot page, built from `identifying_name`."},"trust_score":{"type":"number","nullable":true,"example":4.7,"description":"**Trustpilot's TrustScore for the company, out of five** — the underlying number, to one decimal. This is the one to sort and compare on; `stars` is its rounded display form."},"stars":{"type":"number","nullable":true,"example":4.5,"description":"**The star rating Trustpilot renders, out of five, rounded to the half star.** It is not a second opinion — the sampled row scores 4.7 and displays 4.5."},"rating_scale_max":{"type":"number","example":5,"description":"Always 5, for both numbers above."},"review_count":{"type":"number","nullable":true,"example":14357,"description":"How many reviews the score is computed over."},"location":{"$ref":"#/components/schemas/TrustpilotCategoryLocation"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/TrustpilotCategoryTag"},"description":"The company's other categories. Each `id` is a slug this endpoint takes, so a directory walk can branch sideways. Empty array, never null."},"is_claimed":{"type":"boolean","nullable":true,"description":"Whether the company has claimed its profile. Fetch it with `/trustpilot/company` for the claim date and its reply behaviour."},"logo_url":{"type":"string","nullable":true,"example":"https://s3-eu-west-1.amazonaws.com/tpd/x/198x149.png","description":"The company's logo. Trustpilot states these protocol-relative (`//s3-eu-west-1…`); the scheme is added here so the URL is usable as it stands."},"contact":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"nullable":true}],"description":"The contact block Trustpilot puts on a directory row, republished unchanged. Absent from every row captured, so there is no measured field list to rename it into. `/trustpilot/company` returns a structured `contact_info` for any company here."}},"required":["business_unit_id","identifying_name","display_name","url","trust_score","stars","rating_scale_max","review_count","location","categories","is_claimed","logo_url","contact"]},"TrustpilotCategoryLocation":{"type":"object","nullable":true,"properties":{"address":{"type":"string","nullable":true,"example":"88 Kearny Street"},"city":{"type":"string","nullable":true,"example":"San Francisco"}},"required":["address","city"],"description":"Where the company is, as the directory row states it. Null when the row carries no location at all."},"TrustpilotDomainsResponse":{"type":"object","nullable":true,"properties":{"domains":{"type":"array","items":{"type":"string"},"example":["www.budgetair.com","happen.com"],"description":"A window of company keys — each the exact value `/trustpilot/company` takes as `domain`. Mostly hostnames including `www.`; about 1 in 400 carries a path (`rac.co.uk/insurance`) and a few are internationalised (`kørkort.dk`). Names only, no score. Empty array past the end of the shard."},"count":{"type":"number","example":1000,"description":"How many domains are in this response. Counted from what you received, never copied from a figure the worker printed."},"shard":{"type":"number","example":0,"description":"The shard you asked for, echoed back."},"shard_count":{"type":"number","example":18,"description":"**How many shards the sitemap index lists**, read from the live index rather than from a constant. Multiply by `shard_total` and you have the size of the whole job."},"shard_total":{"type":"number","example":50000,"description":"**How many domains are in THIS shard** — the real number, counted from the shard itself. 50,000 for shards 0-16, and 24,063 for the last one, which is less than half full. Size a walk from this rather than assuming every shard is the same."},"offset":{"type":"number","example":0,"description":"The offset this window was read at, echoed back."},"limit":{"type":"number","example":1000,"description":"The window size you asked for, echoed back."},"has_more":{"type":"boolean","example":true,"description":"**Whether this shard holds anything after this window**, computed as `offset + count < shard_total` from the shard's own length. It says nothing about the shards after this one — walk those by incrementing `shard` up to `shard_count - 1`."},"source_url":{"type":"string","example":"https://sitemaps.trustpilot.com/domains0_en-us.xml","description":"The sitemap this window came out of. Published so the claim is checkable: it is a public XML file on a host with no WAF in front of it, and you can open it yourself."},"usage_note":{"type":"string","example":"Each entry is the exact value `/trustpilot/company` takes as `domain`. These come from Trustpilot's public sitemap host, which needs no credential.","description":"**What these strings are for, stated in the response body.** The one thing a caller has to know is that each entry feeds `/trustpilot/company` verbatim, and that belongs with the data rather than only in these docs."}},"required":["domains","count","shard","shard_count","shard_total","offset","limit","has_more","source_url","usage_note"]},"SimilarwebWebsiteResponse":{"type":"object","nullable":true,"properties":{"domain":{"type":"string"},"url":{"type":"string","format":"uri"},"snapshot_date":{"type":"string","nullable":true,"description":"The monthly data snapshot represented by the metrics.","example":"2026-07-01T00:00:00+00:00"},"category_id":{"type":"string","nullable":true},"icon_url":{"type":"string","nullable":true},"preview_desktop_url":{"type":"string","nullable":true},"preview_mobile_url":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"company":{"type":"object","properties":{"name":{"type":"string","nullable":true},"year_founded":{"type":"number","nullable":true},"headquarters_country_code":{"type":"string","nullable":true},"headquarters_state_code":{"type":"string","nullable":true},"headquarters_city":{"type":"string","nullable":true},"employees_min":{"type":"number","nullable":true},"employees_max":{"type":"number","nullable":true},"revenue_min":{"type":"number","nullable":true},"revenue_max":{"type":"number","nullable":true},"revenue_currency":{"type":"string","nullable":true},"parent_domain":{"type":"string","nullable":true}},"required":["name","year_founded","headquarters_country_code","headquarters_state_code","headquarters_city","employees_min","employees_max","revenue_min","revenue_max","revenue_currency","parent_domain"]},"engagement":{"type":"object","properties":{"visits":{"type":"number","nullable":true,"description":"Estimated visits during the snapshot month.","example":197235347},"visits_change":{"type":"number","nullable":true},"bounce_rate":{"type":"number","nullable":true},"pages_per_visit":{"type":"number","nullable":true},"average_visit_duration":{"type":"string","nullable":true},"history":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","nullable":true},"value":{"type":"number","nullable":true}},"required":["date","value"]}}},"required":["visits","visits_change","bounce_rate","pages_per_visit","average_visit_duration","history"]},"rankings":{"type":"object","properties":{"global":{"type":"object","properties":{"rank":{"type":"number","nullable":true},"previous_rank":{"type":"number","nullable":true},"change":{"type":"number","nullable":true}},"required":["rank","previous_rank","change"]},"country":{"type":"object","properties":{"rank":{"type":"number","nullable":true},"previous_rank":{"type":"number","nullable":true},"change":{"type":"number","nullable":true},"country_code":{"type":"string","nullable":true},"country_slug":{"type":"string","nullable":true}},"required":["rank","previous_rank","change","country_code","country_slug"]},"category":{"type":"object","properties":{"rank":{"type":"number","nullable":true},"previous_rank":{"type":"number","nullable":true},"change":{"type":"number","nullable":true}},"required":["rank","previous_rank","change"]},"global_history":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","nullable":true},"rank":{"type":"number","nullable":true}},"required":["date","rank"]}},"country_history":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","nullable":true},"rank":{"type":"number","nullable":true}},"required":["date","rank"]}},"category_history":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","nullable":true},"rank":{"type":"number","nullable":true}},"required":["date","rank"]}}},"required":["global","country","category","global_history","country_history","category_history"]},"top_countries":{"type":"array","items":{"type":"object","properties":{"country_code":{"type":"string","nullable":true},"country_slug":{"type":"string","nullable":true},"visits_share":{"type":"number","nullable":true},"visits_share_change":{"type":"number","nullable":true}},"required":["country_code","country_slug","visits_share","visits_share_change"]}},"traffic_sources":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","nullable":true},"rank":{"type":"number","nullable":true},"percentage":{"type":"number","nullable":true}},"required":["source","rank","percentage"]}},"competitors":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string","nullable":true},"icon_url":{"type":"string","nullable":true},"category_id":{"type":"string","nullable":true},"category_rank":{"type":"number","nullable":true},"affinity":{"type":"number","nullable":true}},"required":["domain","icon_url","category_id","category_rank","affinity"]}},"demographics":{"type":"object","properties":{"male_share":{"type":"number","nullable":true},"female_share":{"type":"number","nullable":true},"age_distribution":{"type":"array","items":{"type":"object","properties":{"min_age":{"type":"number","nullable":true},"max_age":{"type":"number","nullable":true},"share":{"type":"number","nullable":true}},"required":["min_age","max_age","share"]}}},"required":["male_share","female_share","age_distribution"]},"search":{"type":"object","properties":{"organic_share":{"type":"number","nullable":true},"paid_share":{"type":"number","nullable":true},"keyword_count":{"type":"number","nullable":true},"top_keywords":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","nullable":true},"cpc":{"type":"number","nullable":true},"volume":{"type":"number","nullable":true}},"required":["name","cpc","volume"]}}},"required":["organic_share","paid_share","keyword_count","top_keywords"]},"social":{"type":"object","properties":{"network_count":{"type":"number","nullable":true},"networks":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","nullable":true},"visits_share":{"type":"number","nullable":true},"icon_url":{"type":"string","nullable":true}},"required":["name","visits_share","icon_url"]}}},"required":["network_count","networks"]},"referrals":{"type":"object","properties":{"incoming":{"type":"object","properties":{"total_sites":{"type":"number","nullable":true},"sites":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string","nullable":true},"icon_url":{"type":"string","nullable":true},"visits_share":{"type":"number","nullable":true},"locked":{"type":"boolean","nullable":true}},"required":["domain","icon_url","visits_share","locked"]}},"categories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","nullable":true},"visits_share":{"type":"number","nullable":true}},"required":["category","visits_share"]}}},"required":["total_sites","sites","categories"]},"outgoing":{"type":"object","properties":{"total_sites":{"type":"number","nullable":true},"sites":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string","nullable":true},"icon_url":{"type":"string","nullable":true},"visits_share":{"type":"number","nullable":true},"locked":{"type":"boolean","nullable":true}},"required":["domain","icon_url","visits_share","locked"]}},"categories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","nullable":true},"visits_share":{"type":"number","nullable":true}},"required":["category","visits_share"]}}},"required":["total_sites","sites","categories"]}},"required":["incoming","outgoing"]},"technologies":{"type":"object","properties":{"technology_count":{"type":"number","nullable":true},"category_count":{"type":"number","nullable":true},"categories":{"type":"array","items":{"type":"object","properties":{"category_id":{"type":"string","nullable":true},"top_technology":{"type":"string","nullable":true},"top_technology_icon_url":{"type":"string","nullable":true},"technology_count":{"type":"number","nullable":true}},"required":["category_id","top_technology","top_technology_icon_url","technology_count"]}}},"required":["technology_count","category_count","categories"]},"audience_interests":{"type":"object","properties":{"websites":{"type":"array","items":{"type":"string"}},"topics":{"type":"array","items":{"type":"string"}},"categories":{"type":"array","items":{"type":"string"}}},"required":["websites","topics","categories"]}},"required":["domain","url","snapshot_date","category_id","icon_url","preview_desktop_url","preview_mobile_url","description","company","engagement","rankings","top_countries","traffic_sources","competitors","demographics","search","social","referrals","technologies","audience_interests"]},"SimilarwebTopWebsitesResponse":{"type":"object","nullable":true,"properties":{"snapshot_date":{"type":"string","nullable":true},"scope":{"type":"string","enum":["global"]},"sites":{"type":"array","items":{"$ref":"#/components/schemas/SimilarwebTopWebsite"}},"count":{"type":"integer","minimum":0}},"required":["snapshot_date","scope","sites","count"]},"SimilarwebTopWebsite":{"type":"object","properties":{"rank":{"type":"integer","minimum":0,"exclusiveMinimum":true},"domain":{"type":"string"},"icon_url":{"type":"string","nullable":true},"rank_change":{"type":"number","nullable":true},"category_id":{"type":"string","nullable":true},"average_visit_duration":{"type":"string","nullable":true},"pages_per_visit":{"type":"number","nullable":true},"bounce_rate":{"type":"number","nullable":true},"new_to_ranking":{"type":"boolean","nullable":true}},"required":["rank","domain","icon_url","rank_change","category_id","average_visit_duration","pages_per_visit","bounce_rate","new_to_ranking"]},"SemrushWebsiteResponse":{"type":"object","nullable":true,"properties":{"requested_domain":{"type":"string","example":"stripe.com","description":"The domain this response was read for, echoed back after cleaning — so a caller who pasted a URL can see what it resolved to."},"domain":{"type":"string","example":"stripe.com","description":"The domain Semrush's own page states it is about."},"url":{"type":"string","example":"https://www.semrush.com/website/stripe.com/overview/","description":"The public Semrush page these figures come from. Open it and you see the same numbers, with no account."},"as_of":{"type":"string","nullable":true,"example":"2026-07-15","description":"The month Semrush's figures describe. **These are monthly estimates, not live counters** — two calls a week apart return the same values."},"updated_at":{"type":"string","nullable":true,"example":"2026-08-12"},"database":{"type":"string","nullable":true,"example":"US","description":"The Semrush database the country-scoped figures are measured in. It is always `US` on the free page — the exit country does not change it, and there is deliberately no parameter that pretends to."},"categories":{"type":"array","items":{"$ref":"#/components/schemas/SemrushCategory"},"description":"The industries Semrush files the domain under."},"ranks":{"$ref":"#/components/schemas/SemrushRanks"},"authority_score":{"allOf":[{"$ref":"#/components/schemas/SemrushMetric"},{"description":"Semrush's 0-100 estimate of the domain's strength, from its backlink profile, organic traffic and link authenticity."}]},"engagement":{"$ref":"#/components/schemas/SemrushEngagement"},"devices":{"$ref":"#/components/schemas/SemrushDevices"},"countries":{"$ref":"#/components/schemas/SemrushCountries"},"search_traffic":{"$ref":"#/components/schemas/SemrushSearchTraffic"},"keywords":{"$ref":"#/components/schemas/SemrushKeywords"},"backlinks":{"$ref":"#/components/schemas/SemrushBacklinks"},"competitors":{"$ref":"#/components/schemas/SemrushCompetitors"},"traffic_journey":{"$ref":"#/components/schemas/SemrushTrafficJourney"},"ai_traffic":{"$ref":"#/components/schemas/SemrushAiTraffic"},"related_domains":{"type":"array","items":{"type":"string"},"example":["stripeandstare.com","stripersonline.com"],"description":"The neighbouring domains Semrush links to alphabetically. Each is a valid `domain` for this endpoint."},"unavailable_panels":{"type":"array","items":{"type":"string"},"example":["siteAudit"],"description":"The panels Semrush itself marked as having no current data for this domain, under its own names. **This is a gap in Semrush's index, not a gate and not a dropped field** — it is stable across requests: openai.com returned the identical set as request 1 and as request 24 of one walk. `siteAudit` is in it for every domain, because it is a crawl of a site you own."},"usage_note":{"type":"string","example":"Every figure here is what Semrush serves an anonymous caller, and it is the full free page: 60 consecutive fetches on one identity returned identical values, so there is no view meter to spend. null means Semrush states no figure, never zero. unavailable_panels lists the panels Semrush marked as having no current data for this domain."}},"required":["requested_domain","domain","url","as_of","updated_at","database","categories","ranks","authority_score","engagement","devices","countries","search_traffic","keywords","backlinks","competitors","traffic_journey","ai_traffic","related_domains","unavailable_panels","usage_note"]},"SemrushCategory":{"type":"object","properties":{"slug":{"type":"string","nullable":true,"example":"finance"},"name":{"type":"string","nullable":true,"example":"Finance"}},"required":["slug","name"]},"SemrushRanks":{"type":"object","properties":{"global":{"$ref":"#/components/schemas/SemrushMetric"},"country":{"$ref":"#/components/schemas/SemrushCountryRank"},"category":{"$ref":"#/components/schemas/SemrushCategoryRank"}},"required":["global","country","category"]},"SemrushMetric":{"type":"object","properties":{"value":{"type":"number","nullable":true,"example":203227314,"description":"The figure Semrush states, or null when it states none. Never coerced to 0."},"change_percent":{"type":"number","nullable":true,"example":0.1294,"description":"Semrush's own month-on-month change as a fraction (0.1294 = +12.94%)."},"change_absolute":{"type":"number","nullable":true,"example":-1,"description":"Semrush's own change in places, for the fields it reports that way instead — the three ranks. Negative means the rank number fell, which is an improvement."}},"required":["value","change_percent","change_absolute"],"description":"Position among all websites Semrush ranks worldwide."},"SemrushCountryRank":{"allOf":[{"$ref":"#/components/schemas/SemrushMetric"},{"type":"object","properties":{"code":{"type":"string","nullable":true,"example":"US","description":"The Semrush database this rank is measured in."},"name":{"type":"string","nullable":true,"example":"United States"}},"required":["code","name"]}]},"SemrushCategoryRank":{"allOf":[{"$ref":"#/components/schemas/SemrushMetric"},{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"Finance"},"slug":{"type":"string","nullable":true,"example":"finance"}},"required":["name","slug"]}]},"SemrushEngagement":{"type":"object","properties":{"as_of":{"type":"string","nullable":true},"visits":{"allOf":[{"$ref":"#/components/schemas/SemrushMetric"},{"description":"Estimated total visits in the month."}]},"pages_per_visit":{"$ref":"#/components/schemas/SemrushMetric"},"time_on_site_seconds":{"allOf":[{"$ref":"#/components/schemas/SemrushMetric"},{"example":{"value":498,"change_percent":null,"change_absolute":null},"description":"Average session duration, in seconds."}]},"bounce_rate":{"allOf":[{"$ref":"#/components/schemas/SemrushMetric"},{"description":"A fraction, not a percentage: 0.6072 is 60.72%."}]},"visits_history":{"type":"array","items":{"$ref":"#/components/schemas/SemrushVisitsHistoryRow"},"description":"Up to 3 months of total visits."}},"required":["as_of","visits","pages_per_visit","time_on_site_seconds","bounce_rate","visits_history"]},"SemrushVisitsHistoryRow":{"type":"object","properties":{"date":{"type":"string","nullable":true,"example":"2026-07-01"},"visits":{"type":"number","nullable":true}},"required":["date","visits"]},"SemrushDevices":{"type":"object","properties":{"as_of":{"type":"string","nullable":true},"history":{"type":"array","items":{"$ref":"#/components/schemas/SemrushDeviceHistoryRow"},"description":"Up to 6 months of the desktop-versus-mobile split, newest first. Populated for some domains whose current headline `visits` is null, so it is worth reading even then."}},"required":["as_of","history"]},"SemrushDeviceHistoryRow":{"type":"object","properties":{"date":{"type":"string","nullable":true,"example":"2026-07-01"},"visits":{"type":"number","nullable":true},"desktop_visits":{"type":"number","nullable":true},"mobile_visits":{"type":"number","nullable":true}},"required":["date","visits","desktop_visits","mobile_visits"]},"SemrushCountries":{"type":"object","properties":{"as_of":{"type":"string","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/SemrushCountryTraffic"},"description":"The top 5 countries by traffic. Five is what the free page carries; there is no parameter that returns more."}},"required":["as_of","items"]},"SemrushCountryTraffic":{"type":"object","properties":{"country":{"type":"string","nullable":true,"example":"US"},"country_name":{"type":"string","nullable":true,"example":"United States"},"traffic":{"type":"number","nullable":true,"example":57953085},"traffic_share":{"type":"number","nullable":true,"example":0.2852},"desktop_share":{"type":"number","nullable":true,"example":0.407},"mobile_share":{"type":"number","nullable":true,"example":0.593}},"required":["country","country_name","traffic","traffic_share","desktop_share","mobile_share"]},"SemrushSearchTraffic":{"type":"object","properties":{"as_of":{"type":"string","nullable":true},"organic":{"$ref":"#/components/schemas/SemrushMetric"},"paid":{"$ref":"#/components/schemas/SemrushMetric"},"history":{"type":"array","items":{"$ref":"#/components/schemas/SemrushSearchHistoryRow"},"description":"Up to 6 months of organic and paid search traffic."}},"required":["as_of","organic","paid","history"]},"SemrushSearchHistoryRow":{"type":"object","properties":{"date":{"type":"string","nullable":true,"example":"2026-07-01"},"organic":{"type":"number","nullable":true},"paid":{"type":"number","nullable":true},"total":{"type":"number","nullable":true}},"required":["date","organic","paid","total"]},"SemrushKeywords":{"type":"object","properties":{"as_of":{"type":"string","nullable":true},"database":{"type":"string","nullable":true,"example":"US"},"items":{"type":"array","items":{"$ref":"#/components/schemas/SemrushKeyword"},"description":"The top 5 organic keywords with position, monthly search volume and CPC. Five is what the free page carries."}},"required":["as_of","database","items"]},"SemrushKeyword":{"type":"object","properties":{"keyword":{"type":"string","nullable":true,"example":"stripe"},"position":{"type":"number","nullable":true,"example":1},"search_volume":{"type":"number","nullable":true,"example":673000},"cpc":{"type":"number","nullable":true,"example":2.99,"description":"Average cost per click in USD."},"traffic_share":{"type":"number","nullable":true,"example":0.2723,"description":"The share of the domain's organic traffic this keyword brings, as a fraction."},"intents":{"type":"string","nullable":true,"example":"2","description":"Semrush's own intent code for the keyword, republished as it arrives rather than decoded — no capture has pinned the mapping, and a guessed label is a wrong label that reads like a right one."}},"required":["keyword","position","search_volume","cpc","traffic_share","intents"]},"SemrushBacklinks":{"type":"object","properties":{"as_of":{"type":"string","nullable":true},"backlinks":{"allOf":[{"$ref":"#/components/schemas/SemrushMetric"},{"example":{"value":151822916,"change_percent":-0.0933,"change_absolute":null}}]},"referring_domains":{"$ref":"#/components/schemas/SemrushMetric"},"authority_score":{"$ref":"#/components/schemas/SemrushMetric"},"google_penalty_risk":{"type":"string","nullable":true,"example":"Low"},"backlinks_history":{"type":"array","items":{"$ref":"#/components/schemas/SemrushBacklinksHistoryRow"},"description":"Up to 6 months of total backlinks."},"referring_domains_history":{"type":"array","items":{"$ref":"#/components/schemas/SemrushReferringDomainsHistoryRow"},"description":"Up to 6 months of referring domains."}},"required":["as_of","backlinks","referring_domains","authority_score","google_penalty_risk","backlinks_history","referring_domains_history"]},"SemrushBacklinksHistoryRow":{"type":"object","properties":{"date":{"type":"string","nullable":true,"example":"2026-07-01"},"backlinks":{"type":"number","nullable":true}},"required":["date","backlinks"]},"SemrushReferringDomainsHistoryRow":{"type":"object","properties":{"date":{"type":"string","nullable":true,"example":"2026-07-01"},"referring_domains":{"type":"number","nullable":true}},"required":["date","referring_domains"]},"SemrushCompetitors":{"type":"object","properties":{"as_of":{"type":"string","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/SemrushCompetitorSummary"},"description":"The 3 rivals the overview page names."}},"required":["as_of","items"]},"SemrushCompetitorSummary":{"type":"object","properties":{"domain":{"type":"string","nullable":true,"example":"gocardless.com"},"relevance":{"type":"number","nullable":true,"example":0.16,"description":"Semrush's own similarity score, 0-1."},"visits":{"type":"number","nullable":true,"example":null,"description":"Frequently null on this panel — Semrush does not state it here for every rival. **`/v1/semrush/competitors` returns it for all of them**, along with authority score, bounce rate, time on site and all three ranks."}},"required":["domain","relevance","visits"]},"SemrushTrafficJourney":{"type":"object","properties":{"as_of":{"type":"string","nullable":true},"incoming":{"type":"array","items":{"$ref":"#/components/schemas/SemrushJourneyItem"},"description":"The top 5 sources visitors arrive from, including `Direct` and search channels."},"outgoing":{"type":"array","items":{"$ref":"#/components/schemas/SemrushJourneyItem"},"description":"The top 5 destinations visitors leave for."}},"required":["as_of","incoming","outgoing"]},"SemrushJourneyItem":{"type":"object","properties":{"source":{"type":"string","nullable":true,"example":"google.com__Google organic","description":"Semrush's own label. A channel is written `<host>__<channel name>`; `Direct` is a bucket rather than a host."},"domain":{"type":"string","nullable":true,"example":"grok.com","description":"Non-null only when the source has a Semrush page of its own, which is exactly when it is a valid `domain` for `/v1/semrush/website`. Published as its own field so a caller never has to parse `source`."},"visits":{"type":"number","nullable":true,"example":45929701},"previous_visits":{"type":"number","nullable":true,"example":38183339},"share":{"type":"number","nullable":true,"example":0.44101063,"description":"A fraction of the domain's total traffic."}},"required":["source","domain","visits","previous_visits","share"]},"SemrushAiTraffic":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SemrushAiSource"},"description":"**Referral traffic from individual AI assistants**, with 6 months of history each — ChatGPT, Claude, Gemini, Perplexity, Grok and coding agents. This is the newest thing on the page and it is free."},"other_traffic":{"type":"number","nullable":true,"example":149279270},"other_share":{"type":"number","nullable":true,"example":0.93069}},"required":["items","other_traffic","other_share"]},"SemrushAiSource":{"type":"object","properties":{"source":{"type":"string","nullable":true,"example":"chatgpt.com"},"name":{"type":"string","nullable":true,"example":"ChatGPT"},"traffic":{"type":"number","nullable":true,"example":798467},"share":{"type":"number","nullable":true,"example":0.00498},"history":{"type":"array","items":{"$ref":"#/components/schemas/SemrushAiHistoryRow"}}},"required":["source","name","traffic","share","history"]},"SemrushAiHistoryRow":{"type":"object","properties":{"date":{"type":"string","nullable":true},"value":{"type":"number","nullable":true}},"required":["date","value"]},"SemrushCompetitorsResponse":{"type":"object","nullable":true,"properties":{"requested_domain":{"type":"string","example":"stripe.com"},"domain":{"type":"string","nullable":true,"example":"gocardless.com"},"as_of":{"type":"string","nullable":true,"example":"2026-07-15"},"database":{"type":"string","nullable":true,"example":"US"},"visits":{"$ref":"#/components/schemas/SemrushMetric"},"authority_score":{"$ref":"#/components/schemas/SemrushMetric"},"bounce_rate":{"$ref":"#/components/schemas/SemrushMetric"},"pages_per_visit":{"$ref":"#/components/schemas/SemrushMetric"},"time_on_site_seconds":{"$ref":"#/components/schemas/SemrushMetric"},"ranks":{"$ref":"#/components/schemas/SemrushRanks"},"url":{"type":"string","example":"https://www.semrush.com/website/stripe.com/competitors/","description":"The public Semrush page these figures come from."},"updated_at":{"type":"string","nullable":true,"example":"2026-08-12"},"competitors":{"type":"array","items":{"$ref":"#/components/schemas/SemrushCompetitorProfile"},"description":"The rivals Semrush names, each with the subject's own metric set so the two are directly comparable. Empty array — never null — when Semrush names none."},"count":{"type":"number","example":3,"description":"How many rivals are in this response. **Counted from what you received**, never copied from a figure Semrush stated. Measured between 3 and 7 depending on the domain."},"usage_note":{"type":"string","example":"This is not a longer version of the competitors block on /v1/semrush/website. That block gives a name, a relevance score and a visits figure that is frequently null; this gives each rival the full metric set, so the rivals are directly comparable with the subject."}},"required":["requested_domain","domain","as_of","database","visits","authority_score","bounce_rate","pages_per_visit","time_on_site_seconds","ranks","url","updated_at","competitors","count","usage_note"]},"SemrushCompetitorProfile":{"type":"object","properties":{"domain":{"type":"string","nullable":true,"example":"gocardless.com"},"as_of":{"type":"string","nullable":true,"example":"2026-07-15"},"database":{"type":"string","nullable":true,"example":"US"},"visits":{"$ref":"#/components/schemas/SemrushMetric"},"authority_score":{"$ref":"#/components/schemas/SemrushMetric"},"bounce_rate":{"$ref":"#/components/schemas/SemrushMetric"},"pages_per_visit":{"$ref":"#/components/schemas/SemrushMetric"},"time_on_site_seconds":{"$ref":"#/components/schemas/SemrushMetric"},"ranks":{"$ref":"#/components/schemas/SemrushRanks"}},"required":["domain","as_of","database","visits","authority_score","bounce_rate","pages_per_visit","time_on_site_seconds","ranks"]},"SemrushTrendingResponse":{"type":"object","nullable":true,"properties":{"requested_country":{"type":"string","example":"us"},"requested_category":{"type":"string","example":"finance"},"country":{"type":"string","nullable":true,"example":"us"},"category":{"type":"string","nullable":true,"example":"finance"},"category_id":{"type":"number","nullable":true,"example":35,"description":"Semrush's own numeric id for the industry."},"url":{"type":"string","example":"https://www.semrush.com/trending-websites/us/finance"},"as_of":{"type":"string","nullable":true,"example":"2026-07-01"},"items":{"type":"array","items":{"$ref":"#/components/schemas/SemrushTrendingRow"},"description":"The ranked domains, in Semrush's own order."},"count":{"type":"number","example":100,"description":"How many rows are in this response — counted, never copied. It is 100 for every country and industry measured, and **there is no page 2**: `page`, `p`, `offset` and `limit` were each sent and each returned the same 100 domains in the same order."},"total_traffic":{"type":"number","nullable":true,"example":4038663770,"description":"Total monthly visits across this country and industry."},"total_traffic_change_percent":{"type":"number","nullable":true,"example":1.39},"total_traffic_history":{"type":"array","items":{"$ref":"#/components/schemas/SemrushTrendingHistoryRow"},"description":"12 months of that total."},"available_countries":{"type":"array","items":{"type":"string"},"example":["ad","ae","af"],"description":"**Every country code this endpoint accepts, 240 of them**, read off Semrush's own page rather than hardcoded — so it is current by construction. One call discovers the whole vocabulary."},"available_categories":{"type":"array","items":{"type":"string"},"example":["accounting-and-auditing","adult","advertising-and-marketing"],"description":"**Every industry slug this endpoint accepts, 111 of them**, on the same terms as `available_countries`."},"usage_note":{"type":"string","example":"A fixed top 100. There is no page 2: page, p, offset and limit were each sent and each returned the same 100 domains in the same order. available_countries and available_categories are Semrush's own vocabularies, read off the page, so the valid inputs are always current."}},"required":["requested_country","requested_category","country","category","category_id","url","as_of","items","count","total_traffic","total_traffic_change_percent","total_traffic_history","available_countries","available_categories","usage_note"]},"SemrushTrendingRow":{"type":"object","properties":{"rank":{"type":"number","example":1,"description":"Position in the ranking, **counted from the order Semrush returned** rather than read off a field."},"domain":{"type":"string","nullable":true,"example":"yahoo.com"},"visits":{"type":"number","nullable":true,"example":1246948154},"desktop_visits":{"type":"number","nullable":true},"mobile_visits":{"type":"number","nullable":true},"desktop_share":{"type":"number","nullable":true,"example":42.1,"description":"A PERCENTAGE on this endpoint (42.1 means 42.1%), unlike the fractions on `/v1/semrush/website`. Republished in Semrush's own units rather than silently rescaled."},"mobile_share":{"type":"number","nullable":true},"change_month_percent":{"type":"number","nullable":true,"example":9.225444,"description":"Month-on-month change, as a percentage."},"change_year_percent":{"type":"number","nullable":true,"example":-1.5},"top_traffic_source":{"type":"string","nullable":true,"example":"direct","description":"Semrush's own label — `direct`, `search`, `social`."}},"required":["rank","domain","visits","desktop_visits","mobile_visits","desktop_share","mobile_share","change_month_percent","change_year_percent","top_traffic_source"]},"SemrushTrendingHistoryRow":{"type":"object","properties":{"date":{"type":"string","nullable":true,"example":"2025-08-01"},"traffic":{"type":"number","nullable":true,"example":250427787239}},"required":["date","traffic"]},"G2CategoryResponse":{"type":"object","nullable":true,"properties":{"slug":{"type":"string","example":"crm"},"url":{"type":"string","example":"https://www.g2.com/categories/crm"},"page":{"type":"number","example":1},"page_size":{"type":"number","example":15,"description":"Fifteen, measured off G2's own `numberOfItems`."},"name":{"type":"string","nullable":true,"example":"Best CRM Software"},"description":{"type":"string","nullable":true,"description":"G2's own description of the category."},"date_modified":{"type":"string","nullable":true,"example":"2026-06-03T07:26:07-05:00","description":"When G2 last revised the category page."},"products":{"type":"array","items":{"$ref":"#/components/schemas/G2CategoryProduct"},"description":"The products on this page, in G2's order. An empty array is a real answer; a category that does not exist returns `null` instead."},"count":{"type":"number","example":15,"description":"How many products are in `products`. Fewer than `page_size` means this is the last page."},"stated_count":{"type":"number","nullable":true,"example":15,"description":"G2's own count for this page. It agrees with `count` today; a difference would be the finding, which is why both are published."},"breadcrumbs":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number","nullable":true},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true}},"required":["position","name","url"]},"description":"The category's place in G2's taxonomy, root first — the parent categories a broader walk would start from."},"related_categories":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","nullable":true},"slug":{"type":"string","nullable":true,"description":"Ready to pass straight back to this endpoint."}},"required":["url","slug"]},"description":"Sibling and parent categories G2 links from this one."},"faq":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string","nullable":true},"answer":{"type":"string","nullable":true}},"required":["question","answer"]},"description":"G2's own review-derived buying questions for this category — prose that appears nowhere else on the site."},"usage_note":{"type":"string","example":"Each product's slug is the exact value /v1/g2/reviews takes. Pages hold 15 products and do not overlap; G2 states no total, so walk until a page returns fewer than 15."}},"required":["slug","url","page","page_size","name","description","date_modified","products","count","stated_count","breadcrumbs","related_categories","faq","usage_note"]},"G2CategoryProduct":{"type":"object","properties":{"position":{"type":"number","nullable":true,"example":1,"description":"1-based rank within this page, as G2 ordered it."},"name":{"type":"string","nullable":true,"example":"Pipedrive","description":"The product's display name."},"slug":{"type":"string","nullable":true,"example":"pipedrive","description":"**The exact value `/v1/g2/reviews` takes.** This is what makes the two endpoints compose: walk a category here, then pull any product's reviews there, without ever constructing a URL."},"url":{"type":"string","nullable":true,"example":"https://www.g2.com/products/pipedrive/reviews","description":"The product's page on G2."},"image":{"type":"string","nullable":true,"example":"https://images.g2crowd.com/uploads/product/image/pipedrive.png","description":"The product's logo, as G2 hosts it."},"application_category":{"type":"string","nullable":true,"example":"BusinessApplication","description":"schema.org's coarse application category."},"rating":{"type":"object","nullable":true,"properties":{"value":{"type":"number","nullable":true,"example":8.7,"description":"The rating, on the scale `best_rating` names. Not rescaled."},"best_rating":{"type":"number","nullable":true,"example":10,"description":"The top of the scale `value` is on — **10 for a product aggregate and 5 for an individual review**, on the same page."},"worst_rating":{"type":"number","nullable":true,"example":0,"description":"The bottom of the scale."},"review_count":{"type":"number","nullable":true,"example":3118,"description":"How many reviews the rating is computed from, across the whole product — not how many are on this page."},"rating_count":{"type":"number","nullable":true,"example":3118,"description":"How many ratings the average is computed from, where G2 states it separately from `review_count`."}},"required":["value","best_rating","worst_rating","review_count","rating_count"],"description":"The product's aggregate rating and review count across all of G2 — out of 5 on a category listing."},"liked_for":{"type":"array","items":{"type":"string"},"example":["Ease of Use","Features","Lead Management"],"description":"G2's own summary of what reviewers praise, which is published on the listing and not on the product's review pages. Empty when G2 states none."},"disliked_for":{"type":"array","items":{"type":"string"},"example":["Learning Curve","Expensive"],"description":"The same for what reviewers complain about. Empty when G2 states none."},"price":{"type":"object","nullable":true,"properties":{"currency":{"type":"string","nullable":true,"example":"USD"},"low":{"type":"string","nullable":true,"example":"25","description":"Cheapest published plan. G2 states this as a string."},"high":{"type":"string","nullable":true,"example":"330","description":"Dearest published plan."},"offer_count":{"type":"number","nullable":true,"example":4,"description":"How many plans G2 lists."}},"required":["currency","low","high","offer_count"],"description":"The product's published price band. Null for a product G2 lists no pricing for, which is common for enterprise software."}},"required":["position","name","slug","url","image","application_category","rating","liked_for","disliked_for","price"]},"G2ReviewsResponse":{"type":"object","nullable":true,"properties":{"slug":{"type":"string","example":"pipedrive"},"url":{"type":"string","example":"https://www.g2.com/products/pipedrive/reviews"},"page":{"type":"number","example":1,"description":"The page that was requested."},"page_size":{"type":"number","example":10},"order":{"type":"string","enum":["g2_default","most_recent","most_helpful","highest_rated","lowest_rated"],"example":"g2_default"},"product":{"$ref":"#/components/schemas/G2ReviewsProduct"},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/G2Review"},"description":"This page's reviews, in G2's order. An empty array is a real answer; a product that does not exist returns `null` instead."},"count":{"type":"number","example":10},"current_page":{"type":"number","nullable":true,"example":1,"description":"The page G2 says it served, read from its own pagination control. It differs from `page` exactly when G2 clamps an out-of-range request, which is the one case worth detecting."},"next_page":{"type":"number","nullable":true,"example":2,"description":"The next page to ask for, or null on the last page."},"has_more":{"type":"boolean","example":true,"description":"Read from G2's own next control, **not** from this page being full. The last page of a product is usually full too."},"ids_aligned":{"type":"boolean","example":true,"description":"Whether every review on this page could be given its G2 id. False means the page's structured data and its markup disagreed about how many reviews it holds, so the ids are withheld — a mismatched id looks like an answer and a missing one does not."},"usage_note":{"type":"string","example":"review_body is G2's own reviewBody, which concatenates all three of the questions G2 asks; sections is the same prose split back into those questions. Deduplicate a walk on review id. rating.best_rating differs between the product aggregate (10) and an individual review (5) — both are G2's numbers and neither is rescaled."}},"required":["slug","url","page","page_size","order","product","reviews","count","current_page","next_page","has_more","ids_aligned","usage_note"]},"G2ReviewsProduct":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"Pipedrive"},"categories":{"type":"array","items":{"type":"string"},"example":["CRM","Email Marketing","Sales Analytics"],"description":"Every G2 category the product sits in. G2 states these as one comma-joined string; they are split here."},"operating_system":{"type":"string","nullable":true,"example":"Any"},"rating":{"type":"object","nullable":true,"properties":{"value":{"type":"number","nullable":true,"example":8.7,"description":"The rating, on the scale `best_rating` names. Not rescaled."},"best_rating":{"type":"number","nullable":true,"example":10,"description":"The top of the scale `value` is on — **10 for a product aggregate and 5 for an individual review**, on the same page."},"worst_rating":{"type":"number","nullable":true,"example":0,"description":"The bottom of the scale."},"review_count":{"type":"number","nullable":true,"example":3118,"description":"How many reviews the rating is computed from, across the whole product — not how many are on this page."},"rating_count":{"type":"number","nullable":true,"example":3118,"description":"How many ratings the average is computed from, where G2 states it separately from `review_count`."}},"required":["value","best_rating","worst_rating","review_count","rating_count"],"description":"The product's aggregate across all of G2 — **out of 10 here**, which is a different scale from the per-review ratings on the same page."}},"required":["name","categories","operating_system","rating"]},"G2Review":{"type":"object","properties":{"id":{"type":"number","nullable":true,"example":13260876,"description":"G2's survey-response id. **Deduplicate a walk on this** — it is the only stable key a review has. Null only when the page's structured data and its markup disagreed about how many reviews are on it, in which case the prose is published without an id rather than with someone else's."},"url":{"type":"string","nullable":true,"example":"https://www.g2.com/survey_responses/13260876","description":"The review's permalink on G2."},"title":{"type":"string","nullable":true,"example":"Visual Pipelines, Helpful AI Setup, and Great Value","description":"The reviewer's own headline."},"review_body":{"type":"string","nullable":true,"description":"G2's `reviewBody`: **all three answers concatenated**, with nothing marking the joins. Use `sections` to tell them apart."},"sections":{"type":"array","items":{"$ref":"#/components/schemas/G2ReviewSection"},"description":"The same prose split back into the three questions G2 asks — what the reviewer likes, what they dislike, and what problem the product solves. This is the part `review_body` throws away."},"rating":{"type":"object","nullable":true,"properties":{"value":{"type":"number","nullable":true,"example":8.7,"description":"The rating, on the scale `best_rating` names. Not rescaled."},"best_rating":{"type":"number","nullable":true,"example":10,"description":"The top of the scale `value` is on — **10 for a product aggregate and 5 for an individual review**, on the same page."},"worst_rating":{"type":"number","nullable":true,"example":0,"description":"The bottom of the scale."},"review_count":{"type":"number","nullable":true,"example":3118,"description":"How many reviews the rating is computed from, across the whole product — not how many are on this page."},"rating_count":{"type":"number","nullable":true,"example":3118,"description":"How many ratings the average is computed from, where G2 states it separately from `review_count`."}},"required":["value","best_rating","worst_rating","review_count","rating_count"],"description":"This review's own rating — out of 5, not out of 10."},"date_published":{"type":"string","nullable":true,"example":"2026-08-13T04:22:22-05:00"},"date_modified":{"type":"string","nullable":true,"example":"2026-08-13T04:22:23-05:00"},"reviewer":{"$ref":"#/components/schemas/G2Reviewer"},"product_id":{"type":"number","nullable":true,"example":1619},"product_uuid":{"type":"string","nullable":true,"example":"4020c23b-cfa1-43a6-a5d4-17eb3494c795"},"vendor_id":{"type":"number","nullable":true,"example":1201},"video_review":{"type":"boolean","nullable":true,"description":"Whether the reviewer submitted a video review."}},"required":["id","url","title","review_body","sections","rating","date_published","date_modified","reviewer","product_id","product_uuid","vendor_id","video_review"]},"G2ReviewSection":{"type":"object","properties":{"question":{"type":"string","nullable":true,"example":"What do you like best about Pipedrive?","description":"The question G2 put to the reviewer, verbatim."},"answer":{"type":"string","nullable":true,"example":"The pipelines give a great visual representation of ...","description":"What the reviewer wrote in reply. G2's own disclosure line (“Review collected by and hosted on G2.com.”) is stripped, because it is not the reviewer's prose."}},"required":["question","answer"]},"G2Reviewer":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"Gavin A.","description":"As G2 publishes it — first name, surname initial."},"job_title":{"type":"string","nullable":true,"example":"Director","description":"The reviewer's role. Not in G2's structured data; read from the page."},"company_size":{"type":"string","nullable":true,"example":"Small-Business (50 or fewer emp.)","description":"The size band of the reviewer's employer — the field that makes these reviews segmentable. Also not in the structured data."},"id":{"type":"number","nullable":true,"example":9033304,"description":"G2's reviewer id, for spotting repeat reviewers."},"profile_url":{"type":"string","nullable":true,"description":"The reviewer's G2 profile, where they have one."}},"required":["name","job_title","company_size","id","profile_url"]},"TelegramChannelResponse":{"type":"object","nullable":true,"properties":{"channel":{"type":"string","example":"telegram","description":"The username this page was read for, echoed back after cleaning — so a caller who pasted a link can see the name it resolved to."},"url":{"type":"string","example":"https://t.me/s/telegram","description":"The preview page these messages came from, built from `channel`. Public: open it and you see the same posts."},"title":{"type":"string","example":"Telegram News","description":"**The channel's display title**, which is not its username and can be changed at any time by its owner. `username` is the stable key."},"username":{"type":"string","nullable":true,"example":"telegram","description":"The handle as Telegram itself states it on the page, without the `@`. Normally identical to `channel`; worth comparing if you asked under an old name."},"description":{"type":"string","nullable":true,"example":"The official Telegram on Telegram.","description":"The channel's bio, with line breaks preserved. Null when it has none."},"subscribers_display":{"type":"string","nullable":true,"example":"9.82M","description":"**How many subscribers the channel has, as Telegram's own abbreviated string — a STRING, not a number.** This is the same value as `counters.subscribers`, lifted out under a predictable name because it is the one counter almost every caller wants.\n\n`9.82M` is all Telegram publishes: there is no exact subscriber count anywhere the anonymous preview can reach. Expanding it to 9,820,000 would invent three digits the site never gave, so it is left as it arrived. Null when the channel states no subscriber counter."},"counters":{"$ref":"#/components/schemas/TelegramChannelCounters"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/TelegramMessage"},"description":"This page's posts, newest last, up to 20 of them. Empty array — never null — for a channel with no posts, or for a cursor past the end of the stream."},"count":{"type":"number","example":20,"description":"How many messages are in this response. Counted from what you received, never copied from a figure the page printed."},"page_size":{"type":"number","example":20,"description":"Messages per preview page: Telegram renders 20 and states no way to ask for more. A page with fewer than this is the boundary of the stream in the direction you are walking."},"before":{"type":"number","nullable":true,"example":null,"description":"The `before` cursor you sent, echoed back, or null."},"after":{"type":"number","nullable":true,"example":null,"description":"The `after` cursor you sent, echoed back, or null."},"oldest_message_number":{"type":"number","nullable":true,"example":435,"description":"**The lowest message number on this page** — the oldest post you received. Null on an empty page."},"newest_message_number":{"type":"number","nullable":true,"example":454,"description":"**The highest message number on this page** — the newest post you received. Store it between runs and pass it as `after` to collect only what has been posted since. Null on an empty page."},"next_before":{"type":"number","nullable":true,"example":435,"description":"**Send this back as `before` to get the next twenty older posts.** It is `oldest_message_number`, and it is published as its own field because the value Telegram's cursor wants is the LOWEST number on the page you just read rather than the highest — the opposite of the usual intuition, and a fact you should never have to hold. Null when the page carried no posts to page from."},"next_after":{"type":"number","nullable":true,"example":454,"description":"**Send this back as `after` to get the next twenty newer posts.** The mirror of `next_before`, and equal to `newest_message_number`."},"exhausted":{"type":"boolean","example":false,"description":"**True when this page carried no messages at all, which is the only end-of-stream signal this site has.** A channel is a stream: Telegram publishes no message total and no page count, so there is nothing to compare a position against.\n\nA SHORT page — fewer than 20 posts — is the boundary rather than the end: walking backwards, `before=5` returns ids 1-4 and the call after it is the empty one. Stop when this is true, or when `next_before` comes back null."}},"required":["channel","url","title","username","description","subscribers_display","counters","messages","count","page_size","before","after","oldest_message_number","newest_message_number","next_before","next_after","exhausted"]},"TelegramChannelCounters":{"type":"object","additionalProperties":{"type":"string"},"example":{"subscribers":"9.82M","photos":"14","videos":"225","links":"372"},"description":"**Every counter the channel's header states, keyed by Telegram's own label — and WHICH KEYS EXIST VARIES PER CHANNEL.** A channel that has never posted a video has no `videos` counter at all.\n\nThat is why this is an open map of strings rather than four fixed fields: a fixed schema would either drop a label Telegram invents next or publish a column of nulls for counters the channel does not have, and both would misreport the page. Read a key if it is there, and treat its absence as 'the channel states none' rather than as zero.\n\nValues are Telegram's abbreviated strings, unparsed, for the same reason `subscribers_display` is. Empty object — never null — when the header states no counters."},"TelegramMessage":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"telegram/435","description":"**Telegram's own key for the post** — `<channel>/<number>`, the path of its permalink. Unique across the site; `message_number` is the half of it the cursors take."},"message_number":{"type":"number","nullable":true,"example":435,"description":"**The post's number inside its channel, and the value `before` and `after` take.** Numbers count up from 1 at the beginning of the channel, so they order the stream as well as address it. Null only if Telegram stopped ending a post key with a number."},"url":{"type":"string","nullable":true,"example":"https://t.me/telegram/435","description":"The post's permalink. Note that opening it anonymously shows the join page rather than the post — a single post is only readable through this endpoint by paging to it."},"published_at":{"type":"string","nullable":true,"example":"2026-04-09T07:01:44+00:00","description":"**When the post went up, as an ISO 8601 timestamp with an offset.** Telegram states it in the markup as a machine-readable attribute, so this is its own value rather than a parse of the rendered '2 hours ago'."},"views_display":{"type":"string","nullable":true,"example":"1.56M","description":"**How many times the post was viewed, as Telegram's own abbreviated string — a STRING, not a number.** `1.56M` means somewhere between 1,555,000 and 1,565,000, and Telegram publishes no exact figure anywhere a preview can reach. Expanding it here would invent three digits the site never gave, so the abbreviation is passed through and the interpretation is yours.\n\nNull on a post with no view counter, which is normal for very recent posts."},"text":{"type":"string","nullable":true,"example":"Hello world","description":"**The post's text, with its line breaks preserved.** A Telegram post is often several lines and collapsing them would lose the author's structure, so `<br>` becomes a newline; HTML entities are decoded, including numeric ones such as `&#33;`, which Telegram does write.\n\n**Null — not an empty string — on a media post with no caption.** Measured: a photo post carries no text node at all, and null is the honest report of that."},"photo_url":{"type":"string","nullable":true,"example":"https://cdn4.telesco.pe/file/photo.jpg","description":"The post's image, on Telegram's own CDN. Null when the post carries no photo."},"video_url":{"type":"string","nullable":true,"example":"https://cdn4.telesco.pe/file/clip.mp4","description":"The post's video, on Telegram's own CDN. Null when the post carries no video."},"forwarded_from_name":{"type":"string","nullable":true,"example":"Other Channel","description":"**The channel this post was forwarded from, when it was.** The DISPLAY NAME as the preview renders it, which is not necessarily a username you can pass back to this endpoint — a channel's title and its handle are different things and the preview shows the title. Null on an original post."},"reply_to_text":{"type":"string","nullable":true,"example":"earlier post","description":"The excerpt of the post being replied to, as the preview renders it — the quoted snippet, not the full original. Null when the post is not a reply."}},"required":["id","message_number","url","published_at","views_display","text","photo_url","video_url","forwarded_from_name","reply_to_text"]},"ZillowPropertyResponse":{"type":"object","nullable":true,"properties":{"zpid":{"type":"string","example":"2146999031","description":"The id this home was read for, echoed back after cleaning — so a caller who pasted a URL can see the id it resolved to. This is the string form; `property.zpid` is Zillow's numeric copy."},"url":{"type":"string","example":"https://www.zillow.com/homedetails/2146999031_zpid/","description":"The property's canonical page, built from the zpid. Public: open it and you see the same home. The address slug Zillow puts in its own links is decorative — this shorter form resolves to the same page."},"property":{"$ref":"#/components/schemas/ZillowProperty"},"attribution":{"$ref":"#/components/schemas/ZillowAttribution"},"address":{"$ref":"#/components/schemas/ZillowAddress"},"photos":{"type":"array","items":{"type":"string"},"example":["https://photos.zillowstatic.com/fp/abc-uncropped_scaled.jpg"],"description":"**Every photo of the home, largest available first, deduplicated** — 61 on the sampled property. URLs only.\n\nZillow ships each photo as a tree of every generated size in both jpeg and webp; republishing that is tens of kilobytes of CDN plumbing per home, so the widest jpeg of each photo is picked and the rest dropped. Empty array — never null — on a listing with no photos."},"photo_count":{"type":"number","example":61,"description":"How many photo URLs are in `photos`. **Counted from what you received**, never copied from a figure the page printed — `property.photo_count` is Zillow's own claim, and the two can differ when a photo arrives with no usable source."},"reso_facts":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"**The full RESO fact set for the home, republished whole and under Zillow's own key names — the one object in this response that is not renamed into this API's conventions.**\n\nThat is deliberate. RESO is the real-estate industry's own interchange standard, its field names ARE the format (`bathroomsThreeQuarter`, `garageParkingCapacity`, `hasAttachedGarage`), and anything already built against an MLS feed reads them as they stand. Renaming them would break the portability that is the entire reason the object is worth having.\n\nIt is also flat and wide — around a hundred facts, of which any given listing carries a different subset — so imposing a fixed schema would mean either inventing fields nobody has seen or dropping the ones this API happened not to enumerate. Read a key if it is there.\n\nNull when the page carried no fact set."},"price_history":{"type":"array","nullable":true,"items":{"nullable":true},"description":"**Every price change and sale Zillow holds for the home — and it is `null` here. Use `/v1/zillow/history` to get it.**\n\n**Null is not 'this home has no price history'.** This subtree, and the three below it, are genuinely not on the property page: the document carries `canShowPriceHistory` and `canShowTaxHistory` — permission flags saying the data exists — and not the data, and not even the string `priceHistory` anywhere in its 564,009 bytes. They are published as present keys with null values, rather than omitted, precisely so the two cases can be told apart: `null` means this response does not carry the subtree, and an empty array on `/v1/zillow/history` means Zillow has no such records.\n\n`/v1/zillow/history` takes the same `zpid` this endpoint does, and returns these four with named fields rather than as passthrough — there they have been measured. On the rare occasion a value does arrive here, it is Zillow's own rows republished unchanged."},"tax_history":{"type":"array","nullable":true,"items":{"nullable":true},"description":"The home's assessed values and tax bills by year. **Null here for the same reason as `price_history` — the page does not carry it — and `/v1/zillow/history` is where it lives.** Null means 'not carried', never 'none exists'."},"schools":{"type":"array","nullable":true,"items":{"nullable":true},"description":"The schools Zillow attaches to the home, with their ratings and distances. **Null here**, on the same terms as `price_history`; `/v1/zillow/history` returns them with named fields."},"nearby_homes":{"type":"array","nullable":true,"items":{"nullable":true},"description":"Comparable homes near this one, each carrying a zpid `/v1/zillow/property` takes. **Null here**, on the same terms as `price_history`; `/v1/zillow/history` returns them narrowed to the fields that say which house it is and what it costs."}},"required":["zpid","url","property","attribution","address","photos","photo_count","reso_facts","price_history","tax_history","schools","nearby_homes"]},"ZillowProperty":{"type":"object","properties":{"zpid":{"type":"number","nullable":true,"example":2146999031,"description":"Zillow's id for the home as Zillow types it — a number. The response's top-level `zpid` is the same id as a **string**, and that is the one to pass back to this endpoint."},"home_status":{"type":"string","nullable":true,"example":"FOR_SALE","description":"Zillow's own status for the home: `FOR_SALE`, `SOLD`, `PENDING`, `OTHER` and friends. `attribution.true_status` carries the MLS's word for the same thing before Zillow mapped it."},"home_type":{"type":"string","nullable":true,"example":"SINGLE_FAMILY","description":"The structure: `SINGLE_FAMILY`, `CONDO`, `TOWNHOUSE`, ..."},"property_type":{"type":"string","nullable":true,"example":"Single Family","description":"Zillow's display-facing property type — the readable form of `home_type`."},"listing_type":{"type":"string","nullable":true,"example":"For Sale by Agent","description":"How the home is being sold, as Zillow labels it."},"listing_sub_type":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Zillow's flags for the kind of listing — new construction, foreclosure, for sale by owner and so on. Republished as it arrives: which flags exist varies with the listing, so a fixed object would publish nulls for the ones this home is not."},"listing_provider":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"The syndication source Zillow credits for the listing, republished unchanged. `attribution` is the object with the agent and broker in it."},"contingent_listing_type":{"type":"string","nullable":true,"example":null,"description":"What the sale is contingent on, when it is. Null on a listing with no contingency."},"foreclosure_types":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Zillow's foreclosure flags for the home, republished as they arrive. Every capture carried them empty."},"is_preforeclosure_auction":{"type":"boolean","nullable":true,"example":false},"is_zillow_owned":{"type":"boolean","nullable":true,"example":false,"description":"Whether Zillow itself is the seller."},"is_showcase_listing":{"type":"boolean","nullable":true,"example":false,"description":"Whether the agent pays for Zillow's enhanced presentation."},"is_undisclosed_address":{"type":"boolean","nullable":true,"example":false,"description":"**Whether the address is withheld.** When true, the address fields here and in `address` are partial by the seller's choice rather than by a gap in this response."},"price":{"type":"number","nullable":true,"example":480000,"description":"**The asking price** for a live listing, or the sale price on a sold one, in `currency`. A plain number — the formatted string Zillow renders is not republished here, because a search row carries that as `price_display`."},"currency":{"type":"string","nullable":true,"example":"USD"},"zestimate":{"type":"number","nullable":true,"example":468600,"description":"**Zillow's own estimate of what the home is worth**, which is a model output rather than a listed number and is stated for homes that are not for sale at all. Comparing it against `price` is the obvious use, and the gap is Zillow's opinion rather than a fact about the market."},"rent_zestimate":{"type":"number","nullable":true,"example":1936,"description":"**Zillow's estimated monthly rent for the home.** Beside `price` it is a gross yield calculation with no third-party data needed."},"last_sold_price":{"type":"number","nullable":true,"example":43000,"description":"**What the home last sold for**, which on the sampled property was 43,000 against a 480,000 asking price. Null when Zillow states no prior sale."},"date_sold":{"type":"string","nullable":true,"example":null,"description":"When the home last sold, as Zillow's own date string. `price_history` carries the full sequence of sales and price changes when it is present."},"price_change":{"type":"number","nullable":true,"example":-15000,"description":"**The size of the most recent price change**, signed — negative is a cut. Null on a listing that has not moved."},"price_change_date":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"When the price last changed, in Zillow's machine form. Published exactly as it arrives rather than converted: nothing in the capture pinned its units, and a guess would be a wrong date that looks like a right one. Use `price_change_date_display` for the readable form."},"price_change_date_display":{"type":"string","nullable":true,"example":"8/1/2025","description":"Zillow's own rendering of the same date, as a string — the half of the pair that needs no interpretation."},"tax_annual_amount":{"type":"number","nullable":true,"example":3210,"description":"The annual property tax bill Zillow states for the home."},"property_tax_rate":{"type":"number","nullable":true,"example":1.99,"description":"The tax rate as a percentage, as Zillow states it."},"monthly_hoa_fee":{"type":"number","nullable":true,"example":null,"description":"The monthly HOA fee. Null on a home with no association, which is different from a fee of zero."},"bedrooms":{"type":"number","nullable":true,"example":3},"bathrooms":{"type":"number","nullable":true,"example":2,"description":"Total bathrooms. `reso_facts` breaks this down to the quarter — full, three-quarter, half and quarter baths are separate fields there."},"living_area":{"type":"number","nullable":true,"example":1600,"description":"Interior area, in the unit `reso_facts` states — square feet on every US listing measured."},"living_area_value":{"type":"number","nullable":true,"example":1600,"description":"Zillow's second copy of the same figure. Both are published because Zillow states both, and they have agreed on every capture."},"lot_size":{"type":"number","nullable":true,"example":3125,"description":"Lot area, normally in square feet."},"lot_area_value":{"type":"number","nullable":true,"example":0.07,"description":"The lot area in the unit named by `lot_area_units`, which is often acres where `lot_size` is square feet. Read the two together — the numbers are the same lot."},"lot_area_units":{"type":"string","nullable":true,"example":"Acres"},"year_built":{"type":"number","nullable":true,"example":1911},"street_address":{"type":"string","nullable":true,"example":"2114 S Trumbull Ave","description":"The address as stated on the property record. The `address` object on the response carries the same lines plus the neighborhood, community and subdivision Zillow files the home under."},"city":{"type":"string","nullable":true,"example":"Chicago"},"state":{"type":"string","nullable":true,"example":"IL"},"zipcode":{"type":"string","nullable":true,"example":"60623"},"country":{"type":"string","nullable":true,"example":"USA"},"county":{"type":"string","nullable":true,"example":"Cook County","description":"The county, which is stated here and nowhere else in this response — it is the join key for public tax and deed records."},"latitude":{"type":"number","nullable":true,"example":41.84},"longitude":{"type":"number","nullable":true,"example":-87.71},"time_zone":{"type":"string","nullable":true,"example":"America/Chicago"},"description":{"type":"string","nullable":true,"example":"Beautifully updated brick two-flat ...","description":"**The listing's own description**, as the agent wrote it, with its line breaks intact. Null on a listing that carries none, which is normal on sold and off-market records."},"what_i_love":{"type":"string","nullable":true,"example":null,"description":"The owner's own note about the home, when Zillow has one. Rare, and written by the seller rather than the agent."},"mls_id":{"type":"string","nullable":true,"example":"12345678","description":"The MLS listing id, from Zillow's `mlsid` on the property record. `attribution.mls_id` is its other copy, stated beside the MLS's name — read that one if you need to know which MLS issued the id."},"date_posted":{"type":"string","nullable":true,"example":"2025-07-15","description":"When the listing went up, as Zillow's own date string."},"days_on_zillow":{"type":"number","nullable":true,"example":23,"description":"**How long the listing has been live.** Beside `page_view_count` it is the denominator: 197 views in 23 days is a different listing from 197 views in a day."},"time_on_zillow":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"Zillow's finer-grained version of the same thing, republished as it arrives. `days_on_zillow` is the field to compute with."},"page_view_count":{"type":"number","nullable":true,"example":197,"description":"**How many times this listing's page has been viewed — one of three demand signals Zillow publishes to nobody.** Nothing on the rendered page shows it, no MLS feed carries it, and it is per-listing rather than per-market: it says how much attention this specific home is getting.\n\nRead it against `days_on_zillow` (197 views over 23 days on the sampled home) and against `favorite_count`, which is the same audience one step further down the funnel."},"favorite_count":{"type":"number","nullable":true,"example":20,"description":"**How many people have saved the listing.** The second demand signal, and a stronger one than a page view — a save is a logged-in action by someone who intends to come back. Its ratio to `page_view_count` (20 of 197 on the sampled home) is a conversion rate for the listing."},"tour_view_count":{"type":"number","nullable":true,"example":0,"description":"**How many times the home's 3D tour has been viewed.** The third demand signal. Zero, rather than null, on a listing that has a tour nobody has opened; null when Zillow states no counter at all."},"photo_count":{"type":"number","nullable":true,"example":61,"description":"**Zillow's own count of the home's photos**, which is its claim rather than a count of what arrived. The response's top-level `photo_count` is counted from the `photos` array actually returned; compare the two if the difference matters to you."},"has_virtual_tour":{"type":"boolean","nullable":true,"example":false,"description":"Whether the listing carries an approved third-party virtual tour. `tour_view_count` is how many times it has been opened."}},"required":["zpid","home_status","home_type","property_type","listing_type","listing_sub_type","listing_provider","contingent_listing_type","foreclosure_types","is_preforeclosure_auction","is_zillow_owned","is_showcase_listing","is_undisclosed_address","price","currency","zestimate","rent_zestimate","last_sold_price","date_sold","price_change","price_change_date","price_change_date_display","tax_annual_amount","property_tax_rate","monthly_hoa_fee","bedrooms","bathrooms","living_area","living_area_value","lot_size","lot_area_value","lot_area_units","year_built","street_address","city","state","zipcode","country","county","latitude","longitude","time_zone","description","what_i_love","mls_id","date_posted","days_on_zillow","time_on_zillow","page_view_count","favorite_count","tour_view_count","photo_count","has_virtual_tour"],"description":"**The home itself: price, structure, location, listing metadata and the three demand signals.** Zillow's own property object runs to 99 keys, of which 54 describe the property — the rest is ad targeting, CTA configuration, experiment treatments and tour-scheduling state for a logged-in user, none of which means anything to a caller of this API and none of which is published."},"ZillowAttribution":{"type":"object","properties":{"agent_name":{"type":"string","nullable":true,"example":"Luis Ortiz","description":"**The listing agent's name, and the start of the group that makes this endpoint worth calling.** Nothing on the rendered Zillow page shows the fields in this object; they ride in the page's own data blob."},"agent_email":{"type":"string","nullable":true,"example":null,"description":"**The listing agent's email address.** Null when the listing does not carry one, which is common — an agent's phone is stated far more often than their email."},"agent_phone":{"type":"string","nullable":true,"example":"708-990-4079","description":"**The listing agent's phone number**, as the listing states it — Zillow's own `agentPhoneNumber`, unformatted and unparsed. Digits, separators and extensions are the MLS's spelling rather than a normalised form, because normalising a phone number requires assuming a country and this field is what the agent typed."},"broker_name":{"type":"string","nullable":true,"example":"RE/MAX Partners","description":"The brokerage the listing agent works for."},"broker_phone":{"type":"string","nullable":true,"example":null,"description":"The brokerage's own number, when the listing states one."},"mls_id":{"type":"string","nullable":true,"example":"12345678","description":"**The listing's id in its MLS**, which is the key that joins this record to an MLS feed or a brokerage's own system. Note that `property.mls_id` is Zillow's other copy of this — the two agree on every capture, and both are published because Zillow states both."},"mls_name":{"type":"string","nullable":true,"example":"MRED as distributed by MLS GRID","description":"**Which MLS the listing came through**, in that feed's own words. Worth reading alongside `mls_id`: an id is only unique inside the MLS that issued it."},"listing_agreement":{"type":"string","nullable":true,"example":null,"description":"The type of agreement the listing is held under, in the MLS's vocabulary (an exclusive right to sell, and so on)."},"true_status":{"type":"string","nullable":true,"example":null,"description":"The MLS's own status word for the listing, which is not always the same thing as `property.home_status` — Zillow maps a long tail of feed statuses onto its own small set, and this is the value before that mapping."},"listing_attribution_contact":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Zillow's own attribution contact field, republished exactly as it arrives. It was empty on every capture, so there is no measured shape to rename it into — the named fields above are the ones to rely on."}},"required":["agent_name","agent_email","agent_phone","broker_name","broker_phone","mls_id","mls_name","listing_agreement","true_status","listing_attribution_contact"],"description":"**Who is selling the home and how to reach them — the listing agent's name, email and phone, the brokerage, and the MLS the listing came through.** None of this is rendered on the Zillow page; it rides in the page's own data blob."},"ZillowAddress":{"type":"object","properties":{"street_address":{"type":"string","nullable":true,"example":"2114 S Trumbull Ave","description":"The street line, as Zillow files it."},"city":{"type":"string","nullable":true,"example":"Chicago"},"state":{"type":"string","nullable":true,"example":"IL"},"zipcode":{"type":"string","nullable":true,"example":"60623"},"neighborhood":{"type":"string","nullable":true,"example":null,"description":"Zillow's neighborhood for the home. Frequently null — it is stated for the areas Zillow has drawn a boundary around and omitted elsewhere, so null means 'Zillow names none' rather than 'no neighborhood'."},"community":{"type":"string","nullable":true,"example":null},"subdivision":{"type":"string","nullable":true,"example":null}},"required":["street_address","city","state","zipcode","neighborhood","community","subdivision"],"description":"The home's address, plus the neighborhood, community and subdivision Zillow files it under. The street lines repeat what `property` carries; the last three are stated only here."},"ZillowHistoryResponse":{"type":"object","nullable":true,"properties":{"requested_zpid":{"type":"string","example":"2146999031","description":"The id this history was read for, echoed back after cleaning — so a caller who pasted a URL can see the id it resolved to."},"zpid":{"type":"number","nullable":true,"example":2146999031,"description":"**The id Zillow answered with**, as a number, straight out of the payload. Worth comparing against `requested_zpid` on a property that has been merged or re-keyed: they have matched on every measured call, and a disagreement would mean Zillow served a different home than the one asked for."},"url":{"type":"string","example":"https://www.zillow.com/homedetails/2146999031_zpid/","description":"The property's canonical page, built from the id."},"address":{"$ref":"#/components/schemas/ZillowShortAddress"},"price_history":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/ZillowPriceEvent"},"description":"**Every price event Zillow holds for the home** — listings, price changes and sales, newest first, with the rate of each change.\n\n**An empty array means the property has no recorded price events, and that is a real answer.** Measured: one San Francisco property returned 0 price events beside 25 tax rows, while a Chicago property returned 22. Do not read `[]` as a failure.\n\n**And `[]` here is not the `null` `/v1/zillow/property` returns.** That null means 'that response does not carry this field'; this empty array means 'Zillow has no such records for this home'. Null here is the rarer case where this payload itself omitted the subtree."},"tax_history":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/ZillowTaxEvent"},"description":"**The assessed value and tax bill by year**, with the rate each moved. 26 rows on a measured Chicago property, 25 on a San Francisco one.\n\nEmpty array means the property has no recorded tax rows; null means this payload did not carry the subtree. See `price_history` for the same distinction stated in full."},"schools":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/ZillowSchool"},"description":"**The schools Zillow attaches to the home**, with rating, grade range, distance and whether the home is assigned to them. Two to three rows on every property measured.\n\nEmpty array means Zillow lists none; null means this payload did not carry the subtree."},"nearby_homes":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/ZillowNearbyHome"},"description":"**Comparable homes near this one, each with the id that fetches it.** Narrowed to the fields that say which house it is and what it costs — a nearby home arrives shaped like a whole property record, most of which is rendering state for a card.\n\nEmpty array means Zillow lists none; null means this payload did not carry the subtree. Read each row's `home_status` before comparing prices: the set mixes for-sale and sold homes."},"graphql_errors":{"type":"array","nullable":true,"items":{"nullable":true},"example":[{"message":"Failed to fetch visualizations"}],"description":"**Errors Zillow reported alongside the data — and a non-empty array here does NOT mean the response failed.**\n\nThis is the field most likely to be misread, so it is worth being blunt: **every** measured response carried `[{\"message\": \"Failed to fetch visualizations\"}]` while also carrying 22 price events and 26 tax rows. GraphQL returns partial data beside partial errors as a matter of course, so treating any error as fatal would discard every response this endpoint has ever produced.\n\nIt is published so you can see what Zillow said, and it drives nothing: no status code, no suppression of the data. Judge the four subtrees on their own contents. A response that genuinely failed does not arrive here at all — it arrives as an error.\n\nRepublished exactly as Zillow ships it. Null when it reported none."},"usage_note":{"type":"string","example":"An empty list here means the property has no such records; /zillow/property returns null for these fields instead, meaning that response does not carry them. Each nearby home's zpid is the exact value /zillow/property takes.","description":"The two things a caller of this endpoint has to know, carried in the body as well as in these docs: what an empty list means here against what null means on `/v1/zillow/property`, and that each nearby home's id feeds the property endpoint verbatim."}},"required":["requested_zpid","zpid","url","address","price_history","tax_history","schools","nearby_homes","graphql_errors","usage_note"]},"ZillowShortAddress":{"type":"object","properties":{"street_address":{"type":"string","nullable":true,"example":"2114 S Trumbull Ave"},"city":{"type":"string","nullable":true,"example":"Chicago"},"state":{"type":"string","nullable":true,"example":"IL"},"zipcode":{"type":"string","nullable":true,"example":"60623"}},"required":["street_address","city","state","zipcode"],"description":"**The address of the property this history belongs to**, which is the check that it is the right one. It carries four lines rather than the seven `/v1/zillow/property` returns, because that is what this payload states — see `ZillowAddress` for the fuller form."},"ZillowPriceEvent":{"type":"object","properties":{"date":{"type":"string","nullable":true,"example":"2025-08-01","description":"The day the event happened, as Zillow's own date string."},"time":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"Zillow's machine form of the same moment, republished rather than parsed — nothing in the capture pinned its units, and `date` is the half that needs no interpretation."},"price":{"type":"number","nullable":true,"example":480000,"description":"The price at this event, in the property's currency."},"event":{"type":"string","nullable":true,"example":"Price change","description":"**What happened**: `\"Listed for sale\"`, `\"Price change\"` and `\"Sold\"` are the values measured. Treated as an open string rather than an enum — Zillow files a long tail of MLS events through here, and refusing an unmeasured one would drop a real row."},"price_change_rate":{"type":"number","nullable":true,"example":-0.03,"description":"The change against the previous event, as a rate rather than a percentage — `-0.03` is a 3% cut. Zillow's own number."},"source":{"type":"string","nullable":true,"example":"MLS #12345678","description":"Where Zillow got the event, in its own words."}},"required":["date","time","price","event","price_change_rate","source"]},"ZillowTaxEvent":{"type":"object","properties":{"time":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"The tax year, in Zillow's machine form. Republished as it arrives for the same reason a price event's `time` is."},"tax_paid":{"type":"number","nullable":true,"example":3210,"description":"The tax bill for that year."},"value":{"type":"number","nullable":true,"example":162000,"description":"**The assessed value for that year, which is not the market value and not the Zestimate.** An assessment is what the county taxes the home on; comparing it against `property.zestimate` is a common and useful gap, but they are different measurements."},"tax_increase_rate":{"type":"number","nullable":true,"example":0.041,"description":"How much the bill moved against the previous year, as a rate."},"value_increase_rate":{"type":"number","nullable":true,"example":0.055,"description":"How much the assessment moved, as a rate."}},"required":["time","tax_paid","value","tax_increase_rate","value_increase_rate"]},"ZillowSchool":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"Marshall Elementary"},"rating":{"type":"number","nullable":true,"example":3,"description":"The school's rating as Zillow states it, out of 10 — a GreatSchools figure rather than one of Zillow's own. Null when it states none, which is common for private schools."},"level":{"type":"string","nullable":true,"example":"Elementary","description":"`Elementary`, `Middle`, `High`, or Zillow's own wording."},"grades":{"type":"string","nullable":true,"example":"PK-8","description":"The grade range the school covers, as a string."},"distance":{"type":"number","nullable":true,"example":0.4,"description":"Distance from the property, in miles."},"assigned":{"type":"boolean","nullable":true,"example":null,"description":"**Whether this school is the one the property is assigned to**, rather than merely near it — the distinction a buyer actually cares about. Frequently null: Zillow states it only where the district publishes attendance boundaries it trusts, and null means it does not say rather than 'not assigned'."},"link":{"type":"string","nullable":true,"example":"https://www.greatschools.org/example","description":"Zillow's link to the school's profile."}},"required":["name","rating","level","grades","distance","assigned","link"]},"ZillowNearbyHome":{"type":"object","properties":{"zpid":{"type":"string","nullable":true,"example":"2077663766","description":"**The nearby home's own id, and the exact value `/v1/zillow/property` takes.** So a comparables set is not a dead end: every home here can be fetched in full, with its own listing agent and its own demand signals, without constructing a URL.\n\nPublished as a string, which is the form the property endpoint takes — Zillow types it as a number in this payload."},"url":{"type":"string","nullable":true,"example":"https://www.zillow.com/homedetails/2077663766_zpid/","description":"The nearby home's page, made absolute. You do not need it to fetch the home: pass `zpid` to `/v1/zillow/property`."},"price":{"type":"number","nullable":true,"example":415000},"currency":{"type":"string","nullable":true,"example":"USD"},"home_status":{"type":"string","nullable":true,"example":"SOLD","description":"**Read this before treating the set as comparables.** Zillow mixes for-sale, sold and off-market homes into `nearby_homes`, so a price here can be an asking price or a sale price depending on the row."},"home_type":{"type":"string","nullable":true,"example":"SINGLE_FAMILY"},"bedrooms":{"type":"number","nullable":true,"example":3},"bathrooms":{"type":"number","nullable":true,"example":2},"living_area":{"type":"number","nullable":true,"example":1600},"living_area_value":{"type":"number","nullable":true,"example":1600},"lot_size":{"type":"number","nullable":true,"example":3125},"latitude":{"type":"number","nullable":true,"example":41.8442},"longitude":{"type":"number","nullable":true,"example":-87.7128},"zestimate":{"type":"number","nullable":true,"example":402100,"description":"Zillow's estimate for the nearby home."},"last_sold_price":{"type":"number","nullable":true,"example":380000},"address":{"allOf":[{"$ref":"#/components/schemas/ZillowShortAddress"},{"description":"The nearby home's address, as far as Zillow states it."}]}},"required":["zpid","url","price","currency","home_status","home_type","bedrooms","bathrooms","living_area","living_area_value","lot_size","latitude","longitude","zestimate","last_sold_price","address"]},"ZillowSearchResponse":{"type":"object","nullable":true,"properties":{"region":{"type":"string","example":"san-francisco-ca","description":"The region slug this page was read for, echoed back after cleaning — so a caller who pasted a URL can see the slug it resolved to."},"status":{"type":"string","example":"for_sale","description":"The `status` filter this page was read under, echoed back."},"page":{"type":"number","example":1,"description":"The page number this response is, echoed back."},"url":{"type":"string","example":"https://www.zillow.com/san-francisco-ca/","description":"The Zillow page these results came from, built from `region`, `status` and `page`. Public: open it and you see the same listings."},"results":{"type":"array","items":{"$ref":"#/components/schemas/ZillowSearchResult"},"description":"This page's listings, up to 41 of them, in Zillow's own order. Empty array — never null — for a region with no matching listings."},"count":{"type":"number","example":41,"description":"How many listings are in this response. **Counted from what you received**, never copied from a figure the page printed."},"page_size":{"type":"number","example":41,"description":"**41 listings a page** — Zillow's own `resultsPerPage`, an odd number rather than a rounding of 40. Taken from the live page's own statement of it before falling back to 41, so an offset computed from this field stays right if Zillow changes it."},"total_results":{"type":"number","nullable":true,"example":773,"description":"**How many properties match — which is NOT how many you can reach.** Read it with `total_pages` and `results_are_capped` before sizing a walk from it.\n\nMeasured on San Francisco: `for_sale` reports 773 matches over 19 pages (19 x 41 = 779, consistent), while `sold` reports **18,802 matches over 20 pages** — 820 reachable. Dividing this number by `page_size` on a sold listing asks for page 459 of something that stops at 20."},"total_pages":{"type":"number","nullable":true,"example":19,"description":"**How many pages Zillow will actually hand over for this region — the number to walk by.** Never more than 20. It comes from Zillow's own page count, so the last page is normally short rather than exactly full."},"max_browsable_pages":{"type":"number","example":20,"description":"**The ceiling Zillow puts on paging any region, regardless of how many properties match: 20 pages, or 820 listings.** Published as its own field so a walk can be planned against it rather than discovering it by asking for a page that does not exist. `page` is refused above this number."},"results_are_capped":{"type":"boolean","nullable":true,"example":false,"description":"**True when this region holds more matching properties than paging can reach** — that is, when `total_results` exceeds `total_pages x page_size`.\n\nIt is `true` for San Francisco `sold` (18,802 matches, 820 reachable) and `false` for the same region `for_sale` (773 matches, 779 reachable). When it is true, what you are walking is a sample of the matching set rather than an enumeration of it, and no number of requests through this endpoint will change that — Zillow's public sitemaps are the surface that holds the whole population.\n\nNull when Zillow stated no page count to compare against."},"has_more":{"type":"boolean","nullable":true,"example":true,"description":"**Whether a page after this one exists**, computed as `page < total_pages` — from Zillow's own page count rather than from whether this page came back full. Null when Zillow stated no page count.\n\nIt says nothing about whether the region has been exhausted: see `results_are_capped` for that."},"next_page":{"type":"number","nullable":true,"example":2,"description":"**The page number to ask for next, or null when there is nothing left to ask for.** Null at the last page Zillow states, and null at page 20 whatever Zillow states — so a loop that stops when this is null never asks for a page beyond the browse cap."},"next_url":{"type":"string","nullable":true,"example":"https://www.zillow.com/san-francisco-ca/2_p/","description":"Zillow's own link to the next page, made absolute. It is the source of the `2_p` page shape this API builds its own URLs with, published so the paging shape never has to be guessed. You do not need it: send `next_page` back as `page`."},"region_details":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"**Zillow's own metadata for the region — its map bounds and its region ids — republished exactly as it arrives.** This is a different thing from `region`, which is the slug string you sent and page with: one is the key, this is what Zillow resolved the key to.\n\nCarries `regionBounds` (the north/south/east/west box Zillow drew around the region) and `regionInfo` (its `regionId` and type). Both are selected rather than required, so the object can be `{}` on a region page that states neither. Not renamed into fields, because no capture has pinned a stable shape for it."},"query_state":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"**Zillow's internal search state for this page** — the map bounds, filters and sort it resolved the region to — republished exactly as it arrives. It is the object Zillow's own front end round-trips through its URL, so it is the place to look for what a region actually resolved to. No capture pinned a stable field list, so it is not renamed into fields nobody has seen."},"usage_note":{"type":"string","example":"Each result's zpid is the exact value /zillow/property takes. total_results is how many properties match; total_pages is how many you can actually reach, and on sold listings they differ by more than 20x.","description":"The two sentences a caller of this endpoint has to know, carried in the body as well as in these docs: each row's `zpid` feeds `/v1/zillow/property` verbatim, and `total_results` and `total_pages` are different questions."}},"required":["region","status","page","url","results","count","page_size","total_results","total_pages","max_browsable_pages","results_are_capped","has_more","next_page","next_url","region_details","query_state","usage_note"]},"ZillowSearchResult":{"type":"object","properties":{"zpid":{"type":"string","nullable":true,"example":"2146999031","description":"**Zillow's id for the home, and the exact value `/v1/zillow/property` takes as its `zpid`.** This is what makes the two endpoints compose: walk a region here, then pull each home's agent contact details and demand signals there, without ever constructing a URL.\n\nPublished as a string, which is the form the property endpoint takes. Null only if Zillow stopped keying a row by zpid — the whole page is refused upstream when no row on it carries one, because that is a renamed key rather than a region of anonymous listings."},"url":{"type":"string","nullable":true,"example":"https://www.zillow.com/homedetails/2146999031_zpid/","description":"The home's page, made absolute — Zillow states it as a path. You do not need it to fetch the home: pass `zpid` to `/v1/zillow/property`."},"price":{"type":"number","nullable":true,"example":480000,"description":"**The listed price as a number**, from Zillow's own `unformattedPrice` — the field to sort and filter on. `price_display` is the same number as Zillow renders it."},"price_display":{"type":"string","nullable":true,"example":"$480,000","description":"Zillow's own formatted price string, including the `/mo` and `+` decorations it sometimes adds. A **string** — compute with `price`."},"bedrooms":{"type":"number","nullable":true,"example":3},"bathrooms":{"type":"number","nullable":true,"example":2},"living_area":{"type":"number","nullable":true,"example":1600,"description":"Interior area in square feet, from the row's `area`."},"address":{"type":"string","nullable":true,"example":"2114 S Trumbull Ave, Chicago, IL 60623","description":"The full one-line address as Zillow renders it in the results list. The four fields below are the same address split into parts."},"street_address":{"type":"string","nullable":true,"example":"2114 S Trumbull Ave"},"city":{"type":"string","nullable":true,"example":"Chicago"},"state":{"type":"string","nullable":true,"example":"IL"},"zipcode":{"type":"string","nullable":true,"example":"60623"},"latitude":{"type":"number","nullable":true,"example":41.84,"description":"Lifted out of the row's `latLong` object so a result can be mapped without unpacking a nested pair."},"longitude":{"type":"number","nullable":true,"example":-87.71},"status_text":{"type":"string","nullable":true,"example":"House for sale","description":"Zillow's rendered status label for the row."},"status_type":{"type":"string","nullable":true,"example":"FOR_SALE","description":"The machine form of the same status. Note that a `status=sold` search returns rows whose type says so — the parameter filters the listing, and this reports what Zillow says each row is."},"marketing_status":{"type":"string","nullable":true,"example":"For Sale","description":"Zillow's simplified marketing status code for the row."},"raw_home_status":{"type":"string","nullable":true,"example":"ForSale","description":"The unmapped status straight from the feed, before Zillow simplified it."},"broker_name":{"type":"string","nullable":true,"example":"RE/MAX Partners","description":"**The brokerage on the listing — the only piece of attribution a search row carries.** The agent's name, email and phone are on the property record: fetch the row's `zpid` through `/v1/zillow/property` and read `attribution`."},"image_url":{"type":"string","nullable":true,"example":"https://photos.zillowstatic.com/fp/abc-p_e.jpg","description":"The row's thumbnail. `/v1/zillow/property` returns every photo of the home at full width."},"has_image":{"type":"boolean","nullable":true,"example":true},"is_zillow_owned":{"type":"boolean","nullable":true,"example":false},"has_open_house":{"type":"boolean","nullable":true,"example":false},"open_house_start":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"When the next open house starts, in Zillow's own machine form, republished rather than parsed — nothing in the capture pinned its units, and a guessed timestamp is a wrong date that reads like a right one. `open_house_description` is the readable half."},"open_house_end":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"When it ends, on the same terms as `open_house_start`."},"open_house_description":{"type":"string","nullable":true,"example":"Sat 1-3pm","description":"Zillow's own rendering of the open-house window."},"has_3d_model":{"type":"boolean","nullable":true,"example":false,"description":"Whether the home has a 3D tour. `property.tour_view_count` on the detail record is how many times it has been opened."},"has_video":{"type":"boolean","nullable":true,"example":false},"is_featured_listing":{"type":"boolean","nullable":true,"example":false,"description":"Whether the row is a paid placement. Worth reading before treating the result order as a ranking."},"is_undisclosed_address":{"type":"boolean","nullable":true,"example":false},"content_type":{"type":"string","nullable":true,"example":"property","description":"What kind of card the row is. Zillow mixes builder communities and other card types into a results list, and this is how it names them."}},"required":["zpid","url","price","price_display","bedrooms","bathrooms","living_area","address","street_address","city","state","zipcode","latitude","longitude","status_text","status_type","marketing_status","raw_home_status","broker_name","image_url","has_image","is_zillow_owned","has_open_house","open_house_start","open_house_end","open_house_description","has_3d_model","has_video","is_featured_listing","is_undisclosed_address","content_type"]},"ZillowSitemapResponse":{"type":"object","nullable":true,"properties":{"family":{"type":"string","example":"for_sale_by_agent","description":"The sitemap family this window came from, echoed back."},"shard":{"type":"number","example":0,"description":"The shard index this window came from, echoed back."},"offset":{"type":"number","example":0,"description":"The offset you asked for, echoed back."},"limit":{"type":"number","example":1000,"description":"The window size you asked for, echoed back."},"properties":{"type":"array","items":{"$ref":"#/components/schemas/ZillowSitemapProperty"},"description":"This window of properties, each a `zpid` and the URL it was read from. Empty array — never null — for a window past the end of the shard."},"count":{"type":"number","example":1000,"description":"How many properties are in this window. **Counted from what you received**, never copied from a figure the worker printed."},"shard_count":{"type":"number","example":34,"description":"**How many shards this family has, read from the live index rather than from a constant.** 34 for `for_sale_by_agent` and 255 for `recently_sold` when last read. Size a full walk from this, and expect it to move — Zillow adds shards as the market grows.\n\n**It is one lower than the index appears to list**, because the `latest` sitemap that sits beside the numbered shards is a rolling window over the same properties and is filtered out. Without that, a property would come back under two different shard indexes and any count built from a walk would be inflated."},"shard_total":{"type":"number","example":50000,"description":"**How many properties this shard holds in total** — the number to window against, and the one that says when a walk of this shard is done.\n\nEvery shard read so far held exactly 50,000, but only shard 0 of each family has been read, so **do not multiply `shard_count` by 50,000 and treat the result as an exact family total.** The Trustpilot index in this same catalogue is the reason for the caution: three of its shards held exactly 50,000 and the last held 24,063, so extrapolating from one shard overstated the total. Read the last shard if you need the real figure."},"has_more":{"type":"boolean","example":true,"description":"**Whether this shard holds more properties after this window**, computed as `offset + count < shard_total`. It says nothing about whether more SHARDS remain — compare `shard` against `shard_count` for that."},"source_url":{"type":"string","example":"https://www.zillow.com/xml/sitemaps/us/hdp/for-sale-by-agent/sitemap-0000.xml.gz","description":"The sitemap file this window was read from. Public, and open in a browser: these need no credential of any kind."},"usage_note":{"type":"string","example":"Each zpid is the exact value /zillow/property takes. These come from Zillow's public sitemaps, which need no credential and, unlike property pages, no fresh identity per request.","description":"The one thing a caller of this endpoint has to know, carried in the body as well as in these docs: each `zpid` feeds `/v1/zillow/property` verbatim."}},"required":["family","shard","offset","limit","properties","count","shard_count","shard_total","has_more","source_url","usage_note"]},"ZillowSitemapProperty":{"type":"object","properties":{"zpid":{"type":"string","example":"2146999031","description":"**Zillow's id for the home, and the exact value `/v1/zillow/property` takes.** Every entry has one: the sitemaps are keyed on it, and 50,000 of 50,000 URLs in a sampled shard carried one. A shard that arrives carrying none is refused upstream as a layout change rather than published as an empty family."},"url":{"type":"string","example":"https://www.zillow.com/homedetails/2114-S-Trumbull-Ave-Chicago-IL-60623/2146999031_zpid/","description":"The property's page as the sitemap states it. It is kept because it carries the address slug, which at this stage is the only human-readable label a property has — nothing else about the home is known until you fetch it. You do not need it to do that: pass `zpid` to `/v1/zillow/property`."}},"required":["zpid","url"]},"RedfinSearchResponse":{"type":"object","nullable":true,"properties":{"region":{"type":"string","example":"/city/30818/TX/Austin","description":"The region path this search was read for, echoed back after cleaning — so a caller who pasted a URL can see the path it resolved to."},"url":{"type":"string","example":"https://www.redfin.com/city/30818/TX/Austin","description":"The region's Redfin page, built from `region`. Public: open it and you see the same listings."},"region_id":{"type":"string","nullable":true,"example":"30818","description":"**Redfin's internal id for the region, read off its page rather than derived from the URL.** The two are not the same thing: `/zipcode/94110` has region id `39017`. Published so a caller can see which region actually answered."},"region_type":{"type":"string","nullable":true,"example":"6","description":"Redfin's region-type code — `6` for a city, `2` for a zip code — read off the same page."},"market":{"type":"string","nullable":true,"example":"austin","description":"Redfin's market slug for the region, read off the page."},"results":{"type":"array","items":{"$ref":"#/components/schemas/RedfinSearchResult"},"description":"The region's for-sale listings, in Redfin's own order. Empty array — never null — for a region with nothing for sale. Sold listings are not offered here."},"count":{"type":"number","example":350,"description":"How many listings are in this response. **Counted from what you received**, never copied from a figure Redfin stated."},"requested_num_homes":{"type":"number","example":350,"description":"The `num_homes` this response was read for, echoed back."},"max_num_homes":{"type":"number","example":1000,"description":"The largest `num_homes` this API will ask Redfin for. Published as its own field so a caller answering `results_may_be_capped` knows how much room is left."},"results_may_be_capped":{"type":"boolean","example":false,"description":"**True when Redfin returned as many listings as were asked for, so the region may hold more.** This is where a `has_more` would be on another site, and it is deliberately not one: there is no next page to fetch. Redfin ignores `page_number` — page 2 is a byte-identical response with 0 new properties — and ignores the sort order, so the answer to a capped response is one larger request, not another request. Raise `num_homes` toward 1000; if it is still true there, this region holds more than one call can return."},"result_code":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"example":0,"description":"Redfin's own statement of the outcome, republished. A non-zero code beside an empty `results` is Redfin refusing rather than a region with nothing for sale."},"error_message":{"type":"string","nullable":true,"example":"Success","description":"Redfin's own message for `result_code`."},"usage_note":{"type":"string","example":"There is no page 2: Redfin ignores page_number and the sort order, so num_homes is the only lever — if results_may_be_capped is true, re-ask with a larger one. These are for-sale listings; sold listings are not offered. Each result's url is the exact value /redfin/property takes.","description":"The three things a caller of this endpoint has to know, carried in the body as well as in these docs: there is no page 2, these are for-sale listings only, and each row's `url` feeds `/v1/redfin/property` verbatim."}},"required":["region","url","region_id","region_type","market","results","count","requested_num_homes","max_num_homes","results_may_be_capped","result_code","error_message","usage_note"]},"RedfinSearchResult":{"type":"object","properties":{"property_id":{"type":"string","nullable":true,"example":"801881","description":"Redfin's id for the home — the key that joins this row to anything else on the site. It is **not** what `/v1/redfin/property` takes: use `url` for that."},"listing_id":{"type":"string","nullable":true,"example":"184290163","description":"Redfin's id for this listing of the home. A property relisted later keeps its `property_id` and gets a new one of these."},"url":{"type":"string","nullable":true,"example":"https://www.redfin.com/CA/San-Francisco/331-Bartlett-St-94110/home/801881","description":"**The home's page, and the exact value `/v1/redfin/property` takes.** This is what makes the two endpoints compose: walk a region here, then pull schools, risk factors, parcel records and comparable sales there, without ever constructing a URL. The address slug in it is part of the key — it cannot be derived from `property_id`."},"mls_number":{"type":"string","nullable":true,"example":"424012345","description":"The listing's MLS number, where Redfin states one."},"mls_status":{"type":"string","nullable":true,"example":"Active","description":"The MLS status Redfin files the listing under — `Active`, `Coming Soon`, `Pending`. Every row here is a for-sale listing."},"price":{"type":"number","nullable":true,"example":1095000,"description":"The listed price. Redfin ships this wrapped as `{value, level}` — `level` is its access tier for the field — and it arrives here unwrapped. Null means Redfin declined to state it, which is not the same as zero."},"price_per_sqft":{"type":"number","nullable":true,"example":712},"beds":{"type":"number","nullable":true,"example":3},"baths":{"type":"number","nullable":true,"example":2},"sqft":{"type":"number","nullable":true,"example":1538,"description":"Interior area in square feet."},"lot_size":{"type":"number","nullable":true,"example":null,"description":"Lot area in square feet. Frequently null — it is one of the fields Redfin gates by access tier, and null is the honest rendering of `{level: 1}` with no value on it."},"year_built":{"type":"number","nullable":true,"example":1900},"property_type":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"example":6,"description":"Redfin's own property-type code, republished as it arrives. `ui_property_type` is the label beside it."},"ui_property_type":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"example":"PROPERTY_TYPE_HOUSE","description":"Redfin's own label for the same type."},"street":{"type":"string","nullable":true,"example":"331 Bartlett St"},"unit":{"type":"string","nullable":true,"example":null},"city":{"type":"string","nullable":true,"example":"San Francisco"},"state":{"type":"string","nullable":true,"example":"CA"},"zip":{"type":"string","nullable":true,"example":"94110"},"country_code":{"type":"string","nullable":true,"example":"US"},"neighborhood":{"type":"string","nullable":true,"example":"Mission District","description":"The neighborhood Redfin files the home under."},"latitude":{"type":"number","nullable":true,"example":37.7529,"description":"Lifted out of Redfin's nested `latLong` pair so a result can be mapped without unpacking."},"longitude":{"type":"number","nullable":true,"example":-122.4194},"days_on_market":{"type":"number","nullable":true,"example":14,"description":"Redfin's own `dom`."},"time_on_redfin_ms":{"type":"number","nullable":true,"example":1209600000,"description":"How long the listing has been on Redfin, in milliseconds, as Redfin states it."},"time_zone":{"type":"string","nullable":true,"example":"US/Pacific"},"description":{"type":"string","nullable":true,"example":"Beautifully updated Edwardian in the heart of the Mission.","description":"**The listing agent's own prose, in the search response.** Most sources make this a per-property follow-up call; Redfin puts it on every row, so a region's full agent copy costs one request."},"listing_tags":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Redfin's own marketing tags for the listing, republished whole — no capture has pinned a stable field list for them."},"key_facts":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Redfin's own key-facts rows for the listing, republished whole, on the same terms as `listing_tags`."},"hoa":{"type":"number","nullable":true,"example":450,"description":"Monthly HOA dues where the listing states them."},"is_new_construction":{"type":"boolean","nullable":true,"example":false},"has_3d_tour":{"type":"boolean","nullable":true,"example":true},"has_video_tour":{"type":"boolean","nullable":true,"example":false},"photo_count":{"type":"number","nullable":true,"example":42,"description":"How many photos Redfin says the listing has. The photos themselves are on `/v1/redfin/property`."}},"required":["property_id","listing_id","url","mls_number","mls_status","price","price_per_sqft","beds","baths","sqft","lot_size","year_built","property_type","ui_property_type","street","unit","city","state","zip","country_code","neighborhood","latitude","longitude","days_on_market","time_on_redfin_ms","time_zone","description","listing_tags","key_facts","hoa","is_new_construction","has_3d_tour","has_video_tour","photo_count"]},"RedfinPropertyResponse":{"type":"object","nullable":true,"properties":{"requested_url":{"type":"string","example":"/CA/San-Francisco/331-Bartlett-St-94110/home/801881","description":"The property path this response was read for, echoed back after cleaning — so a caller who pasted a URL can see the path it resolved to."},"url":{"type":"string","example":"https://www.redfin.com/CA/San-Francisco/331-Bartlett-St-94110/home/801881","description":"The home's Redfin page, built from `requested_url`."},"above_the_fold":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"**Price, address, beds, baths, area and listing status** — Redfin's own `aboveTheFold` payload, republished whole. Its endpoint answers 403 when called directly; this is lifted from the property page's own request cache instead."},"below_the_fold":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"**The long-form record: property history, public records, listing details and amenities** — Redfin's own `belowTheFold` payload, on the same terms as `above_the_fold`."},"main_house_info":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Redfin's own `mainHouseInfoPanelInfo` payload — the agent and brokerage attribution panel — on the same terms."},"schools":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Assigned and nearby schools with their ratings, from the page's `schoolsAndDistrictsInfo` entry."},"risk_factors":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Flood, fire, heat and wind risk scores for the property, from the page's `riskFactorData` entry."},"around_this_home":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Redfin's neighborhood context for the address."},"similar_listings":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Redfin's own comparables for this home. Each carries a Redfin path of its own, which `/v1/redfin/property` takes."},"nearby_listings":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"The newest listings near the address."},"nearby_open_houses":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Open houses scheduled nearby."},"parcel_info":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"The county parcel record Redfin matched to the address — lot, APN and assessment data."},"avm_history":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"The history of Redfin's own value estimate for the home."},"activity":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Redfin's per-listing activity data — views, favorites and tour requests, where the page carries them."},"usage_note":{"type":"string","example":"Each section is published under its own name and in Redfin's own shape, lifted from the property page's request cache because Redfin's detail endpoints answer 403 when called directly. A null section means the page did not carry it.","description":"What a caller of this endpoint has to know, carried in the body as well as in these docs: every section is Redfin's own shape under its own name, and a null section means the page did not carry it."}},"required":["requested_url","url","above_the_fold","below_the_fold","main_house_info","schools","risk_factors","around_this_home","similar_listings","nearby_listings","nearby_open_houses","parcel_info","avm_history","activity","usage_note"]},"YandexSearchResponse":{"type":"object","nullable":true,"properties":{"query":{"type":"string"},"region_id":{"type":"number","nullable":true},"page":{"type":"number"},"max_page":{"type":"number"},"page_exists":{"type":"boolean","description":"False means this query has fewer pages than you asked for. It is a real answer, not a failure — Yandex serves a 404 shell past the end of the result set."},"count":{"type":"number","description":"Rows returned, adverts included."},"organic_count":{"type":"number"},"advert_count":{"type":"number"},"results_found_text":{"type":"string","nullable":true,"description":"Yandex's own phrase, verbatim and unparsed, e.g. `stripe payments — Яндекс: нашлось 28 тыс. результатов`. It is approximate and it moves: three fetches of one query said 26, 28 and 29 thousand. A parsed integer would look authoritative and be none of those things."},"results":{"type":"array","items":{"$ref":"#/components/schemas/YandexSearchResult"}},"usage_note":{"type":"string"}},"required":["query","region_id","page","max_page","page_exists","count","organic_count","advert_count","results_found_text","results","usage_note"]},"YandexSearchResult":{"type":"object","properties":{"position":{"type":"number","description":"Absolute rank across pages, adverts included — page 1's first row is position 11. This is the position on the page as rendered, which is what a rank-tracking caller means."},"is_advert":{"type":"boolean","description":"**Yandex does not label these.** A paid result is an ordinary result row with the same classes; the discriminator used is that every organic result names its destination in its own feedback payload and an advert does not, sending the click through a counter instead."},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true,"description":"The destination Yandex names for the result, not the counter redirect its link points at. Null on adverts, whose destination Yandex does not state."},"displayed_path":{"type":"string","nullable":true,"description":"The breadcrumb shown under the title, e.g. `stripe.com › payments`."},"snippet":{"type":"string","nullable":true},"sitelinks":{"type":"array","nullable":true,"items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"}},"required":["title","url"]}}},"required":["position","is_advert","title","url","displayed_path","snippet","sitelinks"]},"YandexMapsSearchResponse":{"type":"object","nullable":true,"properties":{"query":{"type":"string"},"page":{"type":"number"},"results_per_page":{"type":"number"},"language":{"type":"string"},"count":{"type":"number"},"total_result_count_estimate":{"type":"number","nullable":true,"description":"**An estimate, and it grows as you page.** One six-page walk of the same query reported 89, 114, 169, 227, 284 and 338, and returned 150 rows of which 100 were distinct. Do not compute a page count from it, and de-duplicate on `id`."},"corrected_query":{"type":"string","nullable":true},"request_id":{"type":"string","nullable":true},"display_type":{"type":"string","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/YandexPlace"}},"usage_note":{"type":"string"}},"required":["query","page","results_per_page","language","count","total_result_count_estimate","corrected_query","request_id","display_type","results","usage_note"]},"YandexPlace":{"type":"object","properties":{"id":{"type":"string","description":"Yandex's organization id. What /v1/yandex/maps/place and /reviews take."},"type":{"type":"string","nullable":true,"description":"`business` for an organization, `toponym` for an address or a street. A toponym carries no rating, no phone numbers and no url."},"title":{"type":"string","nullable":true},"short_title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"full_address":{"type":"string","nullable":true},"composite_address":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]},"postal_code":{"type":"string","nullable":true},"country":{"type":"string","nullable":true},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true},"uri":{"type":"string","nullable":true,"description":"Yandex's own object uri, e.g. `ymapsbm1://org?oid=1018907821`."},"url":{"type":"string","nullable":true,"description":"The organization's page. Accepted verbatim by /v1/yandex/maps/place and /v1/yandex/maps/reviews, so the endpoints compose without building a URL."},"seoname":{"type":"string","nullable":true},"kind":{"type":"string","nullable":true,"description":"Toponyms only: `house`, `street`, `locality`, ..."},"geo_id":{"type":"number","nullable":true},"categories":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]},"phones":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]},"websites":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]},"social_links":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]},"business_links":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]},"rating":{"type":"object","nullable":true,"properties":{"value":{"type":"number","nullable":true},"ratings":{"type":"number","nullable":true,"description":"How many people rated it — always larger than `reviews`."},"reviews":{"type":"number","nullable":true,"description":"How many wrote text. This is the number /reviews pages through."}},"required":["value","ratings","reviews"]},"working_time_text":{"type":"string","nullable":true},"working_status":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]},"status":{"type":"string","nullable":true},"features":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Amenities as Yandex states them — average bill, delivery, card payment, cuisine type. Republished in Yandex's own shape."},"chain":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]},"metro":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]},"photo_count":{"type":"number","nullable":true},"is_advert":{"type":"boolean","description":"A paid placement inside the map results. Same array and same shape as an organic row, exactly as on the web SERP."}},"required":["id","type","title","short_title","description","address","full_address","composite_address","postal_code","country","latitude","longitude","uri","url","seoname","kind","geo_id","categories","phones","websites","social_links","business_links","rating","working_time_text","working_status","status","features","chain","metro","photo_count","is_advert"]},"YandexMapsPlaceResponse":{"allOf":[{"$ref":"#/components/schemas/YandexPlace"},{"type":"object","nullable":true,"properties":{"requested_place":{"type":"string"},"usage_note":{"type":"string"}},"required":["requested_place","usage_note"]}]},"YandexMapsReviewsResponse":{"type":"object","nullable":true,"properties":{"place_id":{"type":"string"},"sort":{"type":"string"},"language":{"type":"string"},"count":{"type":"number"},"total_reviews":{"type":"number","nullable":true},"total_pages":{"type":"number","nullable":true},"page":{"type":"number","nullable":true},"page_size":{"type":"number","nullable":true},"reviews_remaining":{"type":"number","nullable":true},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/YandexReview"}},"aspects":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]},"usage_note":{"type":"string"}},"required":["place_id","sort","language","count","total_reviews","total_pages","page","page_size","reviews_remaining","reviews","aspects","usage_note"]},"YandexReview":{"type":"object","properties":{"review_id":{"type":"string","nullable":true},"business_id":{"type":"string","nullable":true},"rating":{"type":"number","nullable":true},"text":{"type":"string","nullable":true},"text_language":{"type":"string","nullable":true},"updated_at":{"type":"string","nullable":true},"pinned":{"type":"boolean","nullable":true},"author_name":{"type":"string","nullable":true},"author_public_id":{"type":"string","nullable":true},"author_level":{"type":"string","nullable":true},"author_avatar_url_template":{"type":"string","nullable":true,"description":"A template with a literal `{size}` in it, not a fetchable URL."},"likes":{"type":"number","nullable":true},"dislikes":{"type":"number","nullable":true},"photos":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}]}},"required":["review_id","business_id","rating","text","text_language","updated_at","pinned","author_name","author_public_id","author_level","author_avatar_url_template","likes","dislikes","photos"]},"SkyscannerRouteResponse":{"type":"object","nullable":true,"properties":{"requested_origin":{"type":"string","example":"lond","description":"The `origin` code this was read for, echoed back. **Not always the same as `origin.sky_code`**: Skyscanner canonicalises an airport to its city, so asking for `lhr` returns `LOND`."},"requested_destination":{"type":"string","example":"nyca"},"url":{"type":"string","example":"https://www.skyscanner.net/routes/lond/nyca","description":"The Skyscanner page this was read from. Public, and allowed by Skyscanner's robots.txt — open it and you see the same fares."},"origin":{"$ref":"#/components/schemas/SkyscannerPlace"},"destination":{"$ref":"#/components/schemas/SkyscannerPlace"},"title":{"type":"string","nullable":true,"example":"£146 Cheap Flights from London (LOND) to New York (NYCA) | Skyscanner","description":"The page's own title, which states the headline fare as prose."},"cheapest_price":{"type":"number","nullable":true,"example":146,"description":"**The headline fare, as a number.** Taken from the page's schema.org `AggregateOffer`, which is the only place it appears as a number — the title states it as localised prose and Skyscanner's own fact bag states it pre-formatted with a currency symbol."},"currency":{"type":"string","nullable":true,"example":"GBP","description":"The currency every price on this response is in, as schema.org states it. `skyscanner.net` is the UK storefront and serves GBP regardless of where the request comes from, so this is stated rather than assumed."},"offer_name":{"type":"string","nullable":true,"example":"Cheap Flights from London to New York"},"deals":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerDeal"},"description":"The quoted fares, in Skyscanner's own order. Empty array — never null — when the page carried a headline fare but no quotes."},"deals_count":{"type":"number","example":16,"description":"**Counted from what you received**, never copied from the source."},"cheapest_by_month":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerMonthPrice"},"description":"The cheapest fare Skyscanner has for each of the coming months, 12 of them measured on every page that carried any. A month with no fare is omitted rather than published at zero."},"nearby_airports":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerNearbyAirport"},"description":"Airports serving the destination, with the cheapest fare into each. Each `sky_code` here is a valid input to `/v1/skyscanner/route`."},"airlines_direct":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerAirline"},"description":"Every airline Skyscanner lists as flying this route directly."},"popular_airlines":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerAirline"},"description":"The shortlist Skyscanner promotes. A different list from `airlines_direct`, not a slice of it — they ship as the same component under two different config names."},"faqs":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerFaq"},"description":"Skyscanner's own route-specific Q&A, stripped of markup."},"facts":{"$ref":"#/components/schemas/SkyscannerFacts"},"usage_note":{"type":"string","description":"What a caller has to know to read this response correctly, restated on every one of them."}},"required":["requested_origin","requested_destination","url","origin","destination","title","cheapest_price","currency","offer_name","deals","deals_count","cheapest_by_month","nearby_airports","airlines_direct","popular_airlines","faqs","facts","usage_note"]},"SkyscannerPlace":{"type":"object","nullable":true,"properties":{"sky_code":{"type":"string","nullable":true,"example":"LOND","description":"**Skyscanner's own code for the place, and the exact value these endpoints take.** This is what makes them compose, and it carries more weight here than on other sources: Skyscanner's place autosuggest is disallowed by robots.txt, so these codes are the only place lookup this API has."},"entity_id":{"type":"string","nullable":true,"example":"27544008","description":"Skyscanner's numeric entity id for the place."},"name":{"type":"string","nullable":true,"example":"London"},"country_name":{"type":"string","nullable":true,"example":"United Kingdom","description":"Frequently null — Skyscanner states it on a deal's origin and usually leaves it empty on the destination."},"image_url":{"type":"string","nullable":true,"example":null}},"required":["sky_code","entity_id","name","country_name","image_url"],"description":"The origin as Skyscanner itself names it. Null when the page quoted no deals, since the pair is only stated on a deal."},"SkyscannerDeal":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"{bl}:202608211200*I*SEN*EWR*20261205*skyp*EZY","description":"Skyscanner's own price-trace id. Distinct routes return disjoint id sets — measured across six city pairs, zero shared ids between unrelated pairs."},"price":{"type":"number","nullable":true,"example":188,"description":"The fare as a number, in the response's `currency`. A deal quoting no fare is dropped rather than published with a null price."},"formatted_price":{"type":"string","nullable":true,"example":"£188"},"direct":{"type":"boolean","nullable":true,"example":false},"cabin_class":{"type":"string","nullable":true,"example":null},"origin":{"$ref":"#/components/schemas/SkyscannerPlace"},"destination":{"$ref":"#/components/schemas/SkyscannerPlace"},"legs":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerLeg"},"description":"One entry for a one-way quote, two for a return. Each names its own airports, date and carrier."},"deep_link_path":{"type":"string","nullable":true,"example":"/transport/flights/SEN/EWR/20261205?locale=en-GB","description":"Skyscanner's own path into its live search. **Published as a path, not as a fetchable URL, and this API does not follow it** — `/transport/*` is disallowed by Skyscanner's robots.txt. It is here because it names the exact airports and date the quote belongs to."}},"required":["id","price","formatted_price","direct","cabin_class","origin","destination","legs","deep_link_path"]},"SkyscannerLeg":{"type":"object","properties":{"date":{"type":"string","nullable":true,"example":"2026-12-05"},"formatted_date":{"type":"string","nullable":true,"example":"Sat, 5 Dec"},"quoted_at":{"type":"string","nullable":true,"example":"2026-08-21T12:00Z","description":"**When Skyscanner quoted this fare.** These are cached quotes, not a live search, and this is the field that says how stale one is."},"origin":{"allOf":[{"$ref":"#/components/schemas/SkyscannerPlace"},{"description":"The departure airport for this leg, not the city."}]},"destination":{"$ref":"#/components/schemas/SkyscannerPlace"},"carrier_name":{"type":"string","nullable":true,"example":"easyJet"},"carrier_code":{"type":"string","nullable":true,"example":"EZY","description":"The airline's own code as Skyscanner states it."}},"required":["date","formatted_date","quoted_at","origin","destination","carrier_name","carrier_code"]},"SkyscannerMonthPrice":{"type":"object","properties":{"month":{"type":"string","nullable":true,"example":"2026-10"},"month_name":{"type":"string","nullable":true,"example":"October"},"price":{"type":"number","example":226},"formatted_price":{"type":"string","nullable":true,"example":"£226"}},"required":["month","month_name","price","formatted_price"]},"SkyscannerNearbyAirport":{"type":"object","properties":{"airport_name":{"type":"string","nullable":true,"example":"New York Newark"},"sky_code":{"type":"string","nullable":true,"example":"EWR","description":"Valid as an `origin` or `destination` on `/v1/skyscanner/route`."},"distance":{"type":"number","nullable":true,"example":9,"description":"Distance from the destination city, in the site's own unit."},"formatted_price":{"type":"string","nullable":true,"example":"£188"},"carrier_name":{"type":"string","nullable":true,"example":"easyJet"},"is_cheapest":{"type":"boolean","nullable":true,"example":true},"is_closest":{"type":"boolean","nullable":true,"example":false}},"required":["airport_name","sky_code","distance","formatted_price","carrier_name","is_cheapest","is_closest"]},"SkyscannerAirline":{"type":"object","properties":{"name":{"type":"string","example":"British Airways"},"code":{"type":"string","nullable":true,"example":"BA"},"logo_url":{"type":"string","nullable":true,"example":"https://logos.skyscnr.com/images/airlines/BA.png"}},"required":["name","code","logo_url"]},"SkyscannerFaq":{"type":"object","properties":{"question":{"type":"string","example":"How many airports are there in New York?"},"answer":{"type":"string","nullable":true,"example":"There are 6 airports in New York: New York LaGuardia, New York Newark, New York John F. Kennedy, Westchester County, Islip, and Stewart International.","description":"Skyscanner's own answer, stripped of the inline markup it ships with. These are route-specific facts rather than boilerplate, and some of them appear nowhere else on the page."}},"required":["question","answer"]},"SkyscannerFacts":{"type":"object","properties":{"cheapest_month":{"type":"string","nullable":true,"example":"October"},"most_expensive_month":{"type":"string","nullable":true,"example":"August"},"cheapest_origin_airport":{"type":"string","nullable":true,"example":"London Gatwick"},"cheapest_destination_airport":{"type":"string","nullable":true,"example":"New York John F. Kennedy"},"cheapest_airline":{"type":"string","nullable":true,"example":"Ryanair"},"most_popular_airline":{"type":"string","nullable":true,"example":"British Airways"},"average_flight_time":{"type":"string","nullable":true,"example":"8 hours"},"cheapest_outbound_date":{"type":"string","nullable":true,"example":"Monday, 5 October 2026"},"formatted_one_way_price":{"type":"string","nullable":true,"example":"£188"},"formatted_return_price":{"type":"string","nullable":true,"example":"£146"},"formatted_annual_average_price":{"type":"string","nullable":true,"example":"£146"},"warmest_month":{"type":"string","nullable":true,"example":"July"},"coldest_month":{"type":"string","nullable":true,"example":"January"},"wettest_month":{"type":"string","nullable":true,"example":"August"},"driest_month":{"type":"string","nullable":true,"example":"February"}},"required":["cheapest_month","most_expensive_month","cheapest_origin_airport","cheapest_destination_airport","cheapest_airline","most_popular_airline","average_flight_time","cheapest_outbound_date","formatted_one_way_price","formatted_return_price","formatted_annual_average_price","warmest_month","coldest_month","wettest_month","driest_month"],"description":"Route facts Skyscanner states in a flat bag — cheapest and most expensive month, typical flight time, the destination's weather extremes. Any entry Skyscanner left as an unresolved template token is null here rather than the token's own name."},"SkyscannerDestinationResponse":{"type":"object","nullable":true,"properties":{"requested_place":{"type":"string","example":"nyca"},"url":{"type":"string","example":"https://www.skyscanner.net/flights-to/nyca"},"destination":{"$ref":"#/components/schemas/SkyscannerPlace"},"title":{"type":"string","nullable":true,"example":"£146 Cheap Flights from London (LOND) to New York (NYCA) | Skyscanner","description":"The page's own title, which states the headline fare as prose."},"cheapest_price":{"type":"number","nullable":true,"example":146,"description":"**The headline fare, as a number.** Taken from the page's schema.org `AggregateOffer`, which is the only place it appears as a number — the title states it as localised prose and Skyscanner's own fact bag states it pre-formatted with a currency symbol."},"currency":{"type":"string","nullable":true,"example":"GBP","description":"The currency every price on this response is in, as schema.org states it. `skyscanner.net` is the UK storefront and serves GBP regardless of where the request comes from, so this is stated rather than assumed."},"offer_name":{"type":"string","nullable":true,"example":"Cheap Flights from London to New York"},"deals":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerDeal"},"description":"The quoted fares, in Skyscanner's own order. Empty array — never null — when the page carried a headline fare but no quotes."},"deals_count":{"type":"number","example":16,"description":"**Counted from what you received**, never copied from the source."},"cheapest_by_month":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerMonthPrice"},"description":"The cheapest fare Skyscanner has for each of the coming months, 12 of them measured on every page that carried any. A month with no fare is omitted rather than published at zero."},"nearby_airports":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerNearbyAirport"},"description":"Airports serving the destination, with the cheapest fare into each. Each `sky_code` here is a valid input to `/v1/skyscanner/route`."},"airlines_direct":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerAirline"},"description":"Every airline Skyscanner lists as flying this route directly."},"popular_airlines":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerAirline"},"description":"The shortlist Skyscanner promotes. A different list from `airlines_direct`, not a slice of it — they ship as the same component under two different config names."},"faqs":{"type":"array","items":{"$ref":"#/components/schemas/SkyscannerFaq"},"description":"Skyscanner's own route-specific Q&A, stripped of markup."},"facts":{"$ref":"#/components/schemas/SkyscannerFacts"},"usage_note":{"type":"string","description":"What a caller has to know to read this response correctly, restated on every one of them."}},"required":["requested_place","url","destination","title","cheapest_price","currency","offer_name","deals","deals_count","cheapest_by_month","nearby_airports","airlines_direct","popular_airlines","faqs","facts","usage_note"]},"TwoGisSearchResponse":{"type":"object","nullable":true,"properties":{"query":{"type":"string","example":"кафе"},"city":{"type":"string","example":"moscow"},"region_id":{"type":"string","nullable":true,"example":"32","description":"The internal id the city slug resolved to, published so a caller can see which region actually answered."},"region_name":{"type":"string","nullable":true,"example":"Москва"},"country_code":{"type":"string","nullable":true,"example":"ru"},"locale":{"type":"string","nullable":true,"example":"ru_RU"},"results":{"type":"array","items":{"$ref":"#/components/schemas/TwoGisPlace"},"description":"The matching organisations in 2GIS's own order, paid placements included and flagged. Empty array — never null — when nothing matched."},"count":{"type":"number","example":20,"description":"How many rows are in this response. **Counted from what you received**, never copied from a figure 2GIS stated."},"total":{"type":"number","nullable":true,"example":8616,"description":"How many results 2GIS says the query has in this city. Unlike most sources this one is reachable: pages run to `ceil(total / page_size)` and the last one is short rather than the walk dying early."},"match_type":{"type":"string","nullable":true,"example":"discovery","description":"**Which search mode answered — not how well it did.** `discovery` means 2GIS resolved the query to one of its own categories and browsed it; `recovery` means it ran a literal text search instead. `recovery` is not a warning: measured, `Му-Му`, `hotel` in Dubai, `restaurant` in Dubai and `аптека` in St Petersburg all took that path and all answered well, at relevances of 296-3,561. **Branch on `is_partial_match`, not on this.** Null when nothing matched at all."},"is_partial_match":{"type":"boolean","nullable":true,"example":false,"description":"**The field that tells you whether these rows answer your query.** True means 2GIS could not match it and returned unrelated real businesses anyway, under a healthy 200 with identical row shapes. Measured over 15 queries in 5 cities it separated them perfectly: false on 10/10 real queries, true on 5/5 nonsense ones. Those rows are returned rather than hidden — a near miss is occasionally what a caller wants — but they are never returned unlabelled."},"max_relevance":{"type":"number","nullable":true,"example":2151.38,"description":"The best relevance in this response, and the numeric corroboration for `is_partial_match`. Orders of magnitude is the readable difference: 10.98-8,827.83 across the measured real queries, 4.8e-16-2.9e-06 across the nonsense ones. No threshold is published because fifteen samples is not a threshold."},"page":{"type":"number","example":1},"page_size":{"type":"number","example":20},"max_page_size":{"type":"number","example":50,"description":"The largest `page_size` this API will ask 2GIS for. Published as its own field because upstream refuses a larger value rather than clamping it."},"usage_note":{"type":"string","example":"Check is_partial_match before trusting these rows: true means 2GIS could not match the query and returned unrelated real businesses anyway, under a healthy 200, at a relevance around 1e-09 against 10-8800 for a real match. match_type is not that signal — it names which search mode answered, and a literal text search on a brand name is the best answer available rather than a degraded one. Search rows carry no phone number and no website — the site's own search request omits contact fields — so pass a row's id to /v1/2gis/place for those. If you aggregate pages, de-duplicate on id: 0-4.8% of rows repeat an organisation from an earlier page, so summing count across pages overstates the result set.","description":"The two things a caller of this endpoint has to know, carried in the body as well as in these docs: check `is_partial_match`, and search rows have no contact details."}},"required":["query","city","region_id","region_name","country_code","locale","results","count","total","match_type","is_partial_match","max_relevance","page","page_size","max_page_size","usage_note"]},"TwoGisPlace":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"70000001007179642","description":"**The branch id, and the exact value `/v1/2gis/place` and `/v1/2gis/reviews` take.** 2GIS's search response does not publish this: its `id` is this value plus a 130-character per-request context blob that works nowhere else on the site. The tail is stripped here and kept as `search_context_id`."},"search_context_id":{"type":"string","nullable":true,"example":"70000001007179642_ku4dspBmdBdB9A82AJ7H…","description":"2GIS's undecorated search id, kept rather than discarded. It is per-request and carries the ad/ranking context; null on a `/v1/2gis/place` response, which has no such tail."},"name":{"type":"string","nullable":true,"example":"Му-Му, кафе"},"type":{"type":"string","nullable":true,"example":"branch","description":"2GIS's own object type. These endpoints ask for branches."},"url":{"type":"string","nullable":true,"example":"https://2gis.ru/moscow/firm/70000001007179642","description":"The organisation's public 2GIS page, built from its city slug and branch id. Open it and you see the same record."},"address":{"$ref":"#/components/schemas/TwoGisAddress"},"latitude":{"type":"number","nullable":true,"example":55.755301},"longitude":{"type":"number","nullable":true,"example":37.614586},"region_id":{"type":"string","nullable":true,"example":"32","description":"2GIS's internal id for the city. Not derivable — Moscow is 32, Novosibirsk is 1, Dubai is 99."},"city_alias":{"type":"string","nullable":true,"example":"moscow"},"rubrics":{"type":"array","items":{"$ref":"#/components/schemas/TwoGisRubric"},"description":"Every category 2GIS files the organisation under."},"primary_rubric":{"type":"string","nullable":true,"example":"Кафе","description":"The rubric marked `primary`, lifted out for convenience."},"schedule":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"type":"string"},{"nullable":true}],"description":"Opening hours per weekday in 2GIS's own shape — `{Mon: {working_hours: [{from, to}]}}`, plus its own keys for round-the-clock and closed. Republished rather than renamed."},"contacts":{"$ref":"#/components/schemas/TwoGisContacts"},"attribute_groups":{"type":"array","items":{"nullable":true},"description":"2GIS's own structured attributes — average cheque, cuisine, amenities — grouped as it groups them. Rich on `/v1/2gis/place`."},"organization":{"$ref":"#/components/schemas/TwoGisOrganization"},"rating":{"type":"number","nullable":true,"example":4.8,"description":"**This branch's own rating.** Published beside `org_rating` on purpose: a branch of a chain frequently disagrees with its parent, and quoting either one alone misstates the other."},"review_count":{"type":"number","nullable":true,"example":1090,"description":"How many ratings this branch has. Larger than what `/v1/2gis/reviews` will serve — that endpoint returns written reviews only."},"org_rating":{"type":"number","nullable":true,"example":4.3,"description":"The whole chain's rating, where this is a chain branch."},"org_review_count":{"type":"number","nullable":true,"example":7817},"is_reviewable":{"type":"boolean","nullable":true,"example":true},"is_advertisement":{"type":"boolean","example":false,"description":"**True when this row is a paid placement.** 2GIS mixes advertised organisations into the ranked list, so a caller measuring ranking has to be able to exclude them."},"relevance":{"type":"number","nullable":true,"example":1137.25,"description":"2GIS's own relevance for this row against the query. **Read it together with `is_partial_match`**: measured across 15 queries, real matches ran 10.98-8,827.83 and unmatched ones 4.8e-16-2.9e-06, with no overlap. It is the numeric corroboration for the boolean."}},"required":["id","search_context_id","name","type","url","address","latitude","longitude","region_id","city_alias","rubrics","primary_rubric","schedule","contacts","attribute_groups","organization","rating","review_count","org_rating","org_review_count","is_reviewable","is_advertisement","relevance"]},"TwoGisAddress":{"type":"object","properties":{"street_address":{"type":"string","nullable":true,"example":"Манежная площадь, 1 ст2","description":"2GIS's `address_name` — **the street line only**. The city is not in it; that comes from the administrative division and is published beside it here."},"address_comment":{"type":"string","nullable":true,"example":"-2 этаж; Средний уровень","description":"How to find the entrance once you are at the address."},"building_name":{"type":"string","nullable":true,"example":"Охотный ряд"},"postcode":{"type":"string","nullable":true,"example":"125009"},"country":{"type":"string","nullable":true,"example":"Россия"},"region":{"type":"string","nullable":true,"example":"Москва"},"city":{"type":"string","nullable":true,"example":"Москва","description":"Lifted out of 2GIS's `adm_div` list, which is where the city actually lives — the street line does not contain it."},"district":{"type":"string","nullable":true,"example":"Тверской"},"settlement":{"type":"string","nullable":true,"example":null}},"required":["street_address","address_comment","building_name","postcode","country","region","city","district","settlement"],"description":"2GIS states an address three ways — a street line, an administrative division list and a separate postcode — and all three are kept, because flattening to the first loses the city."},"TwoGisRubric":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"161"},"name":{"type":"string","nullable":true,"example":"Кафе"},"alias":{"type":"string","nullable":true,"example":"kafe"},"kind":{"type":"string","nullable":true,"example":"primary","description":"`primary` or `additional`. The primary one is republished on its own as `primary_rubric`."}},"required":["id","name","alias","kind"]},"TwoGisContacts":{"type":"object","properties":{"phones":{"type":"array","items":{"$ref":"#/components/schemas/TwoGisContact"}},"websites":{"type":"array","items":{"$ref":"#/components/schemas/TwoGisContact"}},"emails":{"type":"array","items":{"$ref":"#/components/schemas/TwoGisContact"}}},"required":["phones","websites","emails"],"description":"**Empty on every `/v1/2gis/search` row, populated on every `/v1/2gis/place` one.** That is a property of the endpoint, not of the business: the site's own search request omits contact fields, so no amount of paging produces a phone number here."},"TwoGisContact":{"type":"object","properties":{"value":{"type":"string","nullable":true,"example":"+74957818781","description":"**The real value, on every contact kind** — the dialable number, the actual website, the mailbox. Normalised: 2GIS puts its own click-tracking redirector here for websites and the real address in a separate field, the inverse of what it does for phones and emails, so the two are swapped back and the redirector is published as `tracking_url`."},"text":{"type":"string","nullable":true,"example":"+7 (495) 781‒87‒81"},"comment":{"type":"string","nullable":true,"example":"служба доставки"},"tracking_url":{"type":"string","nullable":true,"example":"http://link.2gis.ru/1.2/97BA0CE6/…","description":"2GIS's own `link.2gis.ru` click-tracking redirector, where it publishes one — websites in practice. Kept so nothing is discarded, and kept **separate** because 2GIS itself puts this in the `value` position for websites and the real address in `url`, the inverse of what it does for phones and emails. Republishing that verbatim hands a caller a tracking link as the business's website."}},"required":["value","text","comment","tracking_url"]},"TwoGisOrganization":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"4504136498368318"},"name":{"type":"string","nullable":true,"example":"Му-Му, кафе"},"branch_count":{"type":"number","nullable":true,"example":18,"description":"How many branches the chain has in this city's catalogue."}},"required":["id","name","branch_count"],"description":"The chain this branch belongs to, where it belongs to one."},"TwoGisPlaceResponse":{"allOf":[{"$ref":"#/components/schemas/TwoGisPlace"},{"type":"object","nullable":true,"properties":{"requested_id":{"type":"string","example":"70000001007179642","description":"The branch id this response was read for, echoed back."},"usage_note":{"type":"string","example":"This is the same organisation a /v1/2gis/search row describes, plus the fields search cannot carry: phones, websites, emails and the full attribute groups. Every contacts.*[].value is the real value — the dialable number, the actual website, the mailbox. 2GIS itself puts its click-tracking redirector in that position for websites; it is moved to tracking_url so value means one thing across all three kinds."}},"required":["requested_id","usage_note"]}]},"TwoGisReviewsResponse":{"type":"object","nullable":true,"properties":{"requested_id":{"type":"string","example":"70000001007179642"},"results":{"type":"array","items":{"$ref":"#/components/schemas/TwoGisReview"},"description":"One page of written reviews. Empty array — never null — past the end of the list."},"count":{"type":"number","example":20},"total":{"type":"number","nullable":true,"example":1039,"description":"**How many reviews this endpoint will actually serve**, and the number to walk `offset` up to. Deliberately published beside `branch_review_count`, which is larger."},"branch_rating":{"type":"number","nullable":true,"example":4.8},"branch_review_count":{"type":"number","nullable":true,"example":1091,"description":"The count the place card shows — **larger than `total`**, because 2GIS counts star-only ratings here and returns only written reviews from this endpoint. Measured 1,091 against 1,039 on the same branch. Publishing one alone makes a complete walk look truncated."},"providers":{"type":"array","items":{"type":"string"},"example":["flamp","2gis"],"description":"Every review source 2GIS aggregates for this branch. Each row's `provider` names which one it came from."},"limit":{"type":"number","example":20},"offset":{"type":"number","example":0},"sort":{"type":"string","example":"date_created"},"available_sorts":{"type":"array","items":{"type":"string"},"example":["date_created","date_edited","friends","trust"],"description":"2GIS's own allowed set for `sort`."},"usage_note":{"type":"string","example":"total is how many reviews this endpoint will actually serve, and it is smaller than branch_review_count — 2GIS counts star-only ratings in the second and returns only written reviews here. Walk by offset up to total; past it the list is empty rather than an error."}},"required":["requested_id","results","count","total","branch_rating","branch_review_count","providers","limit","offset","sort","available_sorts","usage_note"]},"TwoGisReview":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"271440829"},"rating":{"type":"number","nullable":true,"example":5},"text":{"type":"string","nullable":true,"example":"Отлично!)))","description":"The review body, in the language it was written in."},"date_created":{"type":"string","nullable":true,"example":"2026-08-23T03:46:23.263816+07:00"},"date_edited":{"type":"string","nullable":true,"example":null},"likes_count":{"type":"number","nullable":true,"example":0},"comments_count":{"type":"number","nullable":true,"example":0},"photo_count":{"type":"number","nullable":true,"example":2,"description":"How many photos the reviewer attached."},"provider":{"type":"string","nullable":true,"example":"2gis","description":"**Which source this review came from.** 2GIS aggregates its own reviews with Flamp, Booking, Avito and others under one branch, and they are not the same corpus — a caller comparing ratings across businesses needs to be able to separate them."},"author":{"$ref":"#/components/schemas/TwoGisReviewAuthor"},"official_answer":{"$ref":"#/components/schemas/TwoGisOfficialAnswer"}},"required":["id","rating","text","date_created","date_edited","likes_count","comments_count","photo_count","provider","author","official_answer"]},"TwoGisReviewAuthor":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"54832258"},"name":{"type":"string","nullable":true,"example":"Марианна Винокурова"},"public_id":{"type":"string","nullable":true,"example":"b5702370dd1141b080fb8693fe2991fc"},"reviews_count":{"type":"number","nullable":true,"example":2}},"required":["id","name","public_id","reviews_count"]},"TwoGisOfficialAnswer":{"type":"object","nullable":true,"properties":{"text":{"type":"string","nullable":true},"date_created":{"type":"string","nullable":true}},"required":["text","date_created"],"description":"The business's own reply, where it has replied."},"TwoGisCitiesResponse":{"type":"object","nullable":true,"properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/TwoGisCity"}},"count":{"type":"number","example":206,"description":"How many cities 2GIS covers. Counted, not stated."},"usage_note":{"type":"string","example":"city is what /v1/2gis/search takes. locales is the set that city accepts — asking for one outside it is rejected by 2GIS, so this is not a translation layer."}},"required":["results","count","usage_note"]},"TwoGisCity":{"type":"object","properties":{"city":{"type":"string","nullable":true,"example":"moscow","description":"**The value `/v1/2gis/search` takes as `city`.**"},"region_id":{"type":"string","nullable":true,"example":"32"},"name":{"type":"string","nullable":true,"example":"Москва"},"country_code":{"type":"string","nullable":true,"example":"ru"},"locale":{"type":"string","nullable":true,"example":"ru_RU","description":"The city's default locale — what `locale` falls back to."},"locales":{"type":"array","items":{"type":"string"},"example":["ru_RU"],"description":"Every locale this city accepts. A value outside this set is refused by 2GIS with a 400 rather than falling back."},"time_zone":{"type":"string","nullable":true,"example":"Europe/Moscow"},"aliases":{"type":"array","items":{"type":"string"},"example":["nur_sultan"],"description":"Other slugs 2GIS answers to for the same city."}},"required":["city","region_id","name","country_code","locale","locales","time_zone","aliases"]},"AvitoListingsResponse":{"type":"object","nullable":true,"properties":{"requested_url":{"type":"string","nullable":true,"example":"/moskva/avtomobili","description":"The cleaned path that was fetched."},"url":{"type":"string","nullable":true,"example":"https://www.avito.ru/moskva/avtomobili","description":"The same, as an absolute URL."},"requested_page":{"type":"number","nullable":true,"example":1},"requested_sort":{"type":"string","nullable":true,"example":null,"description":"The sort code that was sent, or null for Avito's default."},"title":{"type":"string","nullable":true,"example":"Купить автомобиль в Москве","description":"The page's own heading, as Avito writes it."},"canonical_url":{"type":"string","nullable":true,"example":"https://www.avito.ru/moskva/avtomobili"},"location_name":{"type":"string","nullable":true,"example":"Москва"},"location_id":{"type":"string","nullable":true,"example":"637640","description":"Avito's internal id for the city."},"category_id":{"type":"string","nullable":true,"example":"9","description":"Avito's internal id for the category."},"results":{"type":"array","items":{"$ref":"#/components/schemas/AvitoListing"},"description":"Listings on this page. An empty array means the category page contained no listings."},"count":{"type":"number","example":50,"description":"Number of listings in `results`, excluding advertising rows."},"dropped_non_listing_rows":{"type":"number","example":3,"description":"Number of advertising rows excluded from `results` and `count`."},"descriptions_available":{"type":"number","example":6,"description":"How many of `results` carried a `description`. A rendering fact, not a data-quality one — see `description`."},"page":{"type":"number","nullable":true,"example":1,"description":"The page Avito says it served."},"last_page":{"type":"number","nullable":true,"example":100,"description":"The last page Avito's own pager links to. Measured at 100 on every category tested."},"items_per_page":{"type":"number","nullable":true,"example":50},"max_page":{"type":"number","nullable":true,"example":100,"description":"The ceiling this API enforces, mirroring `last_page`."},"total_count":{"type":"number","nullable":true,"example":79551,"description":"How many listings Avito **claims** the category holds. Almost always far more than can be paged to — compare `reachable_count`."},"reachable_count":{"type":"number","nullable":true,"example":5000,"description":"How many rows the pager will actually hand over: `last_page` × `items_per_page`. **This is the number to plan a harvest against.** `/moskva/telefony` advertises 533,873 listings and reaches 5,000."},"has_next_page":{"type":"boolean","example":true,"description":"Whether Avito's pager offers a next page from here."},"sorts":{"type":"array","items":{"$ref":"#/components/schemas/AvitoSortOption"},"description":"The sort vocabulary this category actually offers, with Avito's own codes. Pass one back as `sort`."},"default_sort":{"type":"string","nullable":true,"example":"101","description":"The code Avito sorts by when none is given."},"usage_note":{"type":"string","nullable":true,"example":"Avito paginates to page 100 of 50 and no further, whatever total_count says — reachable_count is what the pager will actually hand over. Rows repeat across pages (a 12-page walk returned 554 distinct ids out of 600), so de-duplicate on id when harvesting. description arrives for a leading prefix of the rows only and how long that prefix is varies per render; descriptions_available states how many arrived on this page.","description":"The two things a caller gets wrong here: trusting `total_count` as reachable, and harvesting several pages without de-duplicating."}},"required":["requested_url","url","requested_page","requested_sort","title","canonical_url","location_name","location_id","category_id","results","count","dropped_non_listing_rows","descriptions_available","page","last_page","items_per_page","max_page","total_count","reachable_count","has_next_page","sorts","default_sort","usage_note"]},"AvitoListing":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"8082366222","description":"Avito listing ID. Use it to de-duplicate rows across pages."},"url":{"type":"string","nullable":true,"example":"https://www.avito.ru/moskva/avtomobili/toyota_camry_2.5_at_2013_201_463_km_8082366222","description":"Listing URL with the non-portable `context` search token removed."},"title":{"type":"string","nullable":true,"example":"Toyota Camry 2.5 AT, 2013, 201 463 км"},"price":{"type":"number","nullable":true,"example":1200000,"description":"The price as a number, in roubles. Null means Avito stated none, which is not the same as zero — and it does **not** say whether the figure is a sale price or a monthly rent. `price_text` does."},"price_text":{"type":"string","nullable":true,"example":"1 200 000 ₽","description":"Avito's own rendering of the price, currency symbol and period included. **This is the only field that distinguishes a sale from a rent** — a Moscow flat reads `65 000 ₽ в месяц`, and publishing the number 65000 alone would present a monthly rent as a purchase price."},"price_was_lowered":{"type":"boolean","nullable":true,"example":false,"description":"Whether Avito flags this listing as recently reduced."},"category":{"type":"string","nullable":true,"example":"Автомобили"},"category_slug":{"type":"string","nullable":true,"example":"avtomobili"},"location":{"type":"string","nullable":true,"example":"Москва","description":"The city Avito files the listing under."},"address":{"type":"string","nullable":true,"example":"Москва, Варшавская","description":"The street- or district-level address where Avito gives one, and the city where it does not."},"latitude":{"type":"number","nullable":true,"example":55.664456,"description":"Avito ships coordinates as strings; they arrive here as numbers."},"longitude":{"type":"number","nullable":true,"example":37.627059},"sort_timestamp_ms":{"type":"number","nullable":true,"example":1787324360000,"description":"Avito's own ordering key, in milliseconds since the epoch. Named for what it is rather than `published_at`: it is the sort timestamp, and the two diverge whenever a seller bumps a listing."},"is_new":{"type":"boolean","nullable":true,"example":false},"is_verified":{"type":"boolean","nullable":true,"example":true,"description":"Avito's own verified-listing flag."},"is_reserved":{"type":"boolean","nullable":true,"example":false},"images":{"type":"array","items":{"type":"string"},"example":["https://00.img.avito.st/image/1/1.DjHNe…"],"description":"The largest rendition of each photo. Avito ships six widths per image; the widest is chosen by parsing the width, not by taking the last key, because key order is Avito's and not a contract."},"images_count":{"type":"number","nullable":true,"example":32,"description":"How many photos the listing has, as Avito states it. It can exceed `images.length` — the listing page carries more than the snippet."},"description":{"type":"string","nullable":true,"example":"1 собственник. ПТС оригинал.","description":"Seller's listing text. Often null because descriptions are available for only some rows; see `descriptions_available`."},"attributes":{"type":"string","nullable":true,"example":"201 463 км, 2.5 AT (181 л.с.), седан, передний, бензин","description":"Avito's own one-line attribute summary for the category — mileage, engine and body for a car, area and floor for a flat. Republished as the single string Avito renders, because the fields inside it differ per category and splitting them would invent a schema."},"seller":{"$ref":"#/components/schemas/AvitoSeller"},"rating":{"type":"number","nullable":true,"example":4.5,"description":"The listing's own rating, where Avito states one."}},"required":["id","url","title","price","price_text","price_was_lowered","category","category_slug","location","address","latitude","longitude","sort_timestamp_ms","is_new","is_verified","is_reserved","images","images_count","description","attributes","seller","rating"]},"AvitoSeller":{"type":"object","nullable":true,"properties":{"name":{"type":"string","nullable":true,"example":"ТОРГМАШ","description":"The seller's display name — a dealer name or a person."},"url":{"type":"string","nullable":true,"example":"https://www.avito.ru/brands/i116890677","description":"The seller's own page on Avito, with Avito's referral query stripped."},"rating":{"type":"number","nullable":true,"example":4.5,"description":"The seller's star rating out of 5, where Avito states one."},"reviews_summary":{"type":"string","nullable":true,"example":"298 отзывов","description":"Avito's own phrasing of the review count, republished verbatim. It is localised and pluralised Russian, and a regex over it would be one more thing to get wrong for no gain."}},"required":["name","url","rating","reviews_summary"],"description":"The seller, where the snippet was hydrated. Null on the same rows `description` is null on, and for the same reason."},"AvitoSortOption":{"type":"object","properties":{"code":{"type":"string","nullable":true,"example":"1","description":"The value to pass back as `sort`."},"name":{"type":"string","nullable":true,"example":"Дешевле","description":"Avito's own Russian label for it."}},"required":["code","name"]},"GoogleMapsSearchResponse":{"type":"object","nullable":true,"properties":{"query":{"type":"string","example":"coffee","description":"The query this page was read for, echoed back after trimming. `interpreted_query` is what Google decided it meant."},"latitude":{"type":"number","example":37.7749,"description":"The viewport centre latitude this page was read for."},"longitude":{"type":"number","example":-122.4194,"description":"The viewport centre longitude this page was read for."},"span_metres":{"type":"number","example":20000,"description":"Search viewport width in metres, echoed from the request."},"page":{"type":"number","example":1,"description":"The page number this response is, echoed back."},"page_size":{"type":"number","example":20,"description":"Maximum businesses on one page: 20."},"max_pages":{"type":"number","example":10,"description":"Maximum page number for one query and viewport. Requests above 10 are rejected."},"has_more":{"type":"boolean","example":true,"description":"Whether another page is available for this query and viewport. A short page can still have a following page."},"count":{"type":"number","example":20,"description":"Number of businesses in this response. Pages can overlap, so this is not a count of new businesses; deduplicate accumulated results by `cid`."},"results":{"type":"array","items":{"$ref":"#/components/schemas/GoogleMapsBusiness"},"description":"Up to 20 complete business records in Google's order. Each row has the same fields as the place endpoint. Empty when the viewport has no matches or the requested page is past the end."},"interpreted_query":{"type":"string","nullable":true,"example":"coffee in San Francisco","description":"Google's interpretation of the query, or `null` when none is provided. Check this when results do not match the submitted text."},"viewport":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"nullable":true}],"description":"Map bounds searched for the requested center and span. The value can be an object or positional array; use it when planning adjacent viewports."},"usage_note":{"type":"string","example":"Every result is a COMPLETE business record — phone, hours, website and coordinates included — not a stub needing a follow-up call. Each result's `cid` is the exact value /v1/google-maps/place takes. Two things to know when paging: the pages OVERLAP (200 rows across 10 pages held 182 distinct businesses, so deduplicate on `cid`), and the ceiling is per query AND viewport — to cover an area beyond ~182 places, tile it with several smaller `span_metres` rather than asking once with a large one.","description":"The three things a caller of this endpoint has to know, carried in the body as well as in these docs: every row is already complete, the pages overlap so deduplicate on `cid`, and the ceiling is per query and viewport rather than per site."}},"required":["query","latitude","longitude","span_metres","page","page_size","max_pages","has_more","count","results","interpreted_query","viewport","usage_note"]},"GoogleMapsBusiness":{"type":"object","properties":{"cid":{"type":"string","nullable":true,"example":"0x808587fb77f5f64d:0x25d564f177f99946","description":"Google place identifier used by the place and review endpoints. Use it to deduplicate businesses across overlapping search pages."},"name":{"type":"string","nullable":true,"example":"The Coffee Movement","description":"Business name, or `null` when Google provides none."},"place_id":{"type":"string","nullable":true,"example":"ChIJ_2f19_uHhYARRpn5d_Fk1SU","description":"Google Places `ChIJ…` identifier for joining this business with other datasets. Use `cid` with this API's place and review endpoints."},"feature_id":{"type":"string","nullable":true,"example":"/g/11h547vvy9","description":"Google Knowledge Graph feature ID for the same place, or `null` when unavailable."},"address":{"type":"string","nullable":true,"example":"1030 Washington St, San Francisco, CA 94108","description":"Full one-line address. `address_lines` contains display lines, and `address_components` contains the positional structured value."},"address_lines":{"type":"array","items":{"type":"string"},"example":["599 3rd St #100","San Francisco, CA 94107"],"description":"The address as Google's own display lines — normally the street line and then the locality line. Empty array when the record carries none."},"address_components":{"type":"array","nullable":true,"items":{"nullable":true},"description":"Positional structured address data. Prefer the named `address`, `city`, `neighborhood`, and `country_code` fields when they cover your use case."},"neighborhood":{"type":"string","nullable":true,"example":"Chinatown","description":"The neighbourhood Google files the business under. Null where Google names none, which is common outside dense urban areas."},"city":{"type":"string","nullable":true,"example":"San Francisco, CA","description":"Google's own city label for the business, which on US records carries the state with it — republished as the one string Google states rather than split into a city and a state this layer guessed at."},"country_code":{"type":"string","nullable":true,"example":"US","description":"The two-letter country code for the business."},"latitude":{"type":"number","nullable":true,"example":37.7936,"description":"Business latitude, or `null` when unavailable."},"longitude":{"type":"number","nullable":true,"example":-122.4116},"timezone":{"type":"string","nullable":true,"example":"America/Los_Angeles","description":"IANA timezone for the business. Times in `hours.days[].hours` use this local timezone."},"categories":{"type":"array","items":{"type":"string"},"example":["Coffee shop","Cafe"],"description":"Google business categories, most specific first. Empty when none are available."},"rating":{"type":"number","nullable":true,"example":4.8,"description":"Google Maps star rating out of 5, or `null` when unavailable. This record does not include a reliable review count; use the reviews endpoint to retrieve and count reviews."},"phone":{"type":"string","nullable":true,"example":"(415) 780-1902","description":"Business phone number in its local display format. `phone_e164` is the dialable international form when available."},"phone_e164":{"type":"string","nullable":true,"example":"+14157801902","description":"**The same number in E.164 form** — country code, no separators — which is what a dialer, a CRM or a WhatsApp integration takes. Google states both forms, so both are published rather than one being derived from the other by guessing a country."},"website":{"type":"string","nullable":true,"example":"https://www.thecoffeemovement.com/","description":"Business website, or `null` when unavailable."},"website_domain":{"type":"string","nullable":true,"example":"thecoffeemovement.com","description":"Google's own display form of the same link, which is the domain without the scheme or the tracking a full URL may carry. Convenient as a join key when matching these businesses against another dataset."},"description":{"type":"string","nullable":true,"example":"Cozy cafe serving single-origin espresso and pastries.","description":"Google's editorial description of the business, where it has written one. Frequently null — it is a Google-authored blurb rather than the owner's, and most listings do not have one."},"hours":{"$ref":"#/components/schemas/GoogleMapsHours"},"attributes":{"type":"object","nullable":true,"additionalProperties":{"type":"array","items":{"type":"string"}},"example":{"Accessibility":["Wheelchair accessible entrance","Wheelchair accessible restroom"],"Amenities":["Restroom","Wi-Fi"]},"description":"Business attributes grouped by Google's labels, such as accessibility, amenities, payment options, and service options. Groups vary by business and category; `null` means none were listed."},"photos":{"type":"array","items":{"type":"string"},"example":["https://lh3.googleusercontent.com/p/AF1QipN-example=w408-h306-k-no"],"description":"Up to ten business photo URLs in display order; the first is the cover photo. Empty when no photos are available."},"maps_url":{"type":"string","nullable":true,"example":"https://www.google.com/maps/place/?q=place_id:ChIJ_2f19_uHhYAR","description":"Google's own link to the place. Public: open it and you see the same business. You do not need it to fetch the record again — pass `cid` to `/v1/google-maps/place`."}},"required":["cid","name","place_id","feature_id","address","address_lines","address_components","neighborhood","city","country_code","latitude","longitude","timezone","categories","rating","phone","phone_e164","website","website_domain","description","hours","attributes","photos","maps_url"]},"GoogleMapsHours":{"type":"object","nullable":true,"properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/GoogleMapsHoursDay"},"description":"Opening hours for the current day. This list is not a weekly schedule."},"status":{"type":"string","nullable":true,"example":"Closed · Opens 8 AM Mon","description":"Current opening status and the next change, such as `\"Closed · Opens 8 AM Mon\"`."}},"required":["days","status"],"description":"Current-day opening hours and status. This is not a weekly schedule; the whole object is `null` when Google provides no hours."},"GoogleMapsHoursDay":{"type":"object","properties":{"day":{"type":"string","nullable":true,"example":"Saturday","description":"Weekday for this entry, usually the current day. See `days` for the scope of the hours data."},"hours":{"type":"array","items":{"type":"string"},"example":["9 AM–2 PM"],"description":"Displayed opening spans for this day. Multiple entries indicate a break; an empty array means the business is closed for the day."},"date":{"type":"array","nullable":true,"items":{"type":"number"},"example":[2026,8,15],"description":"Calendar date for this entry as `[year, month, day]`, or `null` when Google provides no date."}},"required":["day","hours","date"]},"GoogleMapsPlaceResponse":{"anyOf":[{"allOf":[{"$ref":"#/components/schemas/GoogleMapsBusiness"},{"type":"object","properties":{"requested_cid":{"type":"string","example":"0x808587fb77f5f64d:0x25d564f177f99946","description":"The cid this record was read for, echoed back after cleaning — so a caller who pasted a Maps URL can see the id it resolved to. It will equal the record's own `cid`: a response whose identity does not match the request is refused rather than published."},"usage_note":{"type":"string","example":"This is the same record /v1/google-maps/search returns for every row, so calling this after a search repeats work that has already been paid for. It is here for callers who arrive holding a cid.","description":"The one thing a caller of this endpoint has to know, carried in the body as well as in these docs: this is the same record `/v1/google-maps/search` already returns for every row."}},"required":["requested_cid","usage_note"]}]},{"nullable":true}]},"GoogleMapsReviewsResponse":{"type":"object","nullable":true,"properties":{"reviews":{"type":"array","items":{"$ref":"#/components/schemas/GoogleMapsReview"},"description":"Up to 20 reviews, newest first. An empty array means the place has no reviews; use `has_more` rather than page length to decide whether to continue."},"count":{"type":"number","example":20,"description":"Number of reviews in this response. This is neither a paging signal nor the place's total review count; use `has_more` to continue."},"next_cursor":{"type":"string","nullable":true,"example":"0x808587fb77f5f64d:0x25d564f177f99946|CAESY0NBRVFBUm9VUTJoa1p...","description":"Cursor for the next review page, or `null` at the end. Pass it back unchanged with the same `cid`; the cursor is opaque and cannot be constructed or reused for another place."},"has_more":{"type":"boolean","example":true,"description":"Whether another review page is available. Stop when this is `false`, even if earlier pages contained fewer reviews than requested."},"requested_cid":{"type":"string","example":"0x808587fb77f5f64d:0x25d564f177f99946","description":"The cid these reviews were read for, echoed back after cleaning — so a caller who pasted a Maps URL can see the id it resolved to, and so a stored page is identifiable without the request beside it. It is also the cid half of `next_cursor`."},"usage_note":{"type":"string","example":"Newest first, and walking every `next_cursor` returns the COMPLETE corpus — measured against Maps' own displayed count on four places: 338/338, 1722/1723, 1782/1782 and 5950/5950, zero duplicate review ids across 492 pages. Pages hold at most 20 reviews. Reviews with a null `text` are star-only ratings, not broken rows: they are ~25-40% of the corpus and Maps counts them too. `next_cursor` is bound to this `cid` and cannot be used with another place. Stop when `has_more` is false, not when a page comes back short — the last page is usually both full-ish and final.","description":"The four things a caller of this endpoint has to know, carried in the body as well as in these docs: the walk returns the complete corpus, stop on `has_more` rather than on a short page, a null `text` is a star-only rating, and a cursor belongs to its place."}},"required":["reviews","count","next_cursor","has_more","requested_cid","usage_note"]},"GoogleMapsReview":{"type":"object","properties":{"review_id":{"type":"string","example":"ChZDSUhNMG9nS0VJQ0FnSURfeGV5RVh3EAE","description":"Google review ID and the key to use for deduplication."},"place_ref":{"type":"string","nullable":true,"example":"0x0:0x25d564f177f99946","description":"Abbreviated Google place reference for this review. It corresponds to `requested_cid`."},"rating":{"type":"number","nullable":true,"example":5,"description":"Reviewer's star rating from 1 to 5. It can be present when `text` is `null`."},"text":{"type":"string","nullable":true,"example":"Best espresso in the neighbourhood. Tiny room, huge care.","description":"Review text. `null` means the reviewer submitted a star rating without text; these rows still count as reviews."},"language":{"type":"string","nullable":true,"example":"en","description":"The language Google detected the review to be in. Null on a star-only row, which has no text to detect."},"created_at_us":{"type":"number","nullable":true,"example":1747224000000000,"description":"Review creation time in microseconds since the Unix epoch. Divide by 1,000 for milliseconds or 1,000,000 for seconds."},"updated_at_us":{"type":"number","nullable":true,"example":1747224000000000,"description":"Last edit time in microseconds since the Unix epoch. Equal to `created_at_us` when the review has not been edited."},"relative_time":{"type":"string","nullable":true,"example":"3 months ago","description":"Displayed review age at the time of retrieval. Use `created_at_us` for calculations."},"author":{"$ref":"#/components/schemas/GoogleMapsReviewAuthor"},"photos":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/GoogleMapsReviewPhoto"},"description":"Photos attached to the review, or `null` when there are none."},"owner_response":{"$ref":"#/components/schemas/GoogleMapsOwnerResponse"}},"required":["review_id","place_ref","rating","text","language","created_at_us","updated_at_us","relative_time","author","photos","owner_response"]},"GoogleMapsReviewAuthor":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"Alex Rivera","description":"The reviewer's display name, as Google files it."},"id":{"type":"string","nullable":true,"example":"112233445566778899000","description":"Google's own id for the reviewer. Stable across their reviews, so it is what joins one person's reviews together across places — the display name is not unique and is renameable."},"avatar":{"type":"string","nullable":true,"example":"https://lh3.googleusercontent.com/a/example=s120-c-rp-mo-br100","description":"The reviewer's profile photo URL."},"profile_url":{"type":"string","nullable":true,"example":"https://www.google.com/maps/contrib/112233445566778899000","description":"Google's public link to the reviewer's contributions page."},"review_count":{"type":"number","nullable":true,"example":87,"description":"**How many reviews this person has written**, as Google states it on their profile — an author statistic, not a fact about this review. Useful as a weak signal of how practised a reviewer is."},"photo_count":{"type":"number","nullable":true,"example":412,"description":"How many photos this person has contributed, same source and same caveat as `review_count`."},"local_guide_level":{"type":"number","nullable":true,"example":7,"description":"The reviewer's Local Guide level where Google states one, null where they are not a Local Guide."}},"required":["name","id","avatar","profile_url","review_count","photo_count","local_guide_level"],"description":"Reviewer's public profile and contribution statistics. Counts here describe the author, not engagement with this review."},"GoogleMapsReviewPhoto":{"type":"object","properties":{"url":{"type":"string","example":"https://lh5.googleusercontent.com/p/AF1QipExample","description":"The photo URL. A photo without one is not published."},"width":{"type":"number","nullable":true,"example":4032,"description":"Pixel width as Google states it, null where it does not."},"height":{"type":"number","nullable":true,"example":3024,"description":"Pixel height as Google states it, null where it does not."}},"required":["url","width","height"]},"GoogleMapsOwnerResponse":{"type":"object","nullable":true,"properties":{"text":{"type":"string","example":"Thank you for the kind words — see you next time!","description":"The reply's text. A reply with no text is not published at all, which is why this is the one field here that is never null."},"created_at_us":{"type":"number","nullable":true,"example":1755212345678901,"description":"When the reply was posted, in **microseconds** since the epoch — Google's own integer, republished rather than reformatted. Divide by 1,000 for milliseconds."},"updated_at_us":{"type":"number","nullable":true,"example":1755212345678901,"description":"When the reply was last edited, same units. Equal to `created_at_us` on a reply that has never been edited."},"relative_time":{"type":"string","nullable":true,"example":"2 months ago","description":"Displayed age of the reply at retrieval time. Use `created_at_us` for calculations."},"language":{"type":"string","nullable":true,"example":"en","description":"The language Google detected the reply to be in."}},"required":["text","created_at_us","updated_at_us","relative_time","language"],"description":"Business owner's public reply. The field is `null` when the review has no owner response."},"XUser":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"11348282","description":"**X's own numeric id for the account, as a string.** Stable across a rename, which the handle is not — an account that changes its handle keeps this. Published as a string because X's ids exceed what a JSON number holds exactly."},"handle":{"type":"string","nullable":true,"example":"NASA","description":"**The account's current handle, in X's own casing** — which is usually not the casing you asked with. `@nasa` resolves to `NASA` here. Compare it against `requested_handle` if you are joining on the value you sent."},"name":{"type":"string","nullable":true,"example":"NASA","description":"The display name, which is free text and changes freely."},"description":{"type":"string","nullable":true,"example":"There's space for everybody. ✨","description":"The account's public bio."},"location":{"type":"string","nullable":true,"example":"Pale Blue Dot","description":"Free-form profile location. This value is not a verified address."},"website":{"type":"string","nullable":true,"example":"http://nasa.gov","description":"The link in the profile header, as the account stated it. Usually an X short link (`t.co/…`) on accounts that set it recently; not followed or expanded here."},"created_at":{"type":"string","nullable":true,"example":"Wed Dec 19 20:20:32 +0000 2007","description":"Account creation time in X's date format."},"followers_count":{"type":"number","nullable":true,"example":92304095,"description":"Number of followers reported by X."},"following_count":{"type":"number","nullable":true,"example":119,"description":"How many accounts this one follows. X calls it `friends_count` in the older shape and `following` in the newer; both are read."},"tweet_count":{"type":"number","nullable":true,"example":74339,"description":"Total number of posts reported by X. This is not the number of posts returned by a timeline request."},"listed_count":{"type":"number","nullable":true,"example":79251,"description":"How many public lists include this account."},"media_count":{"type":"number","nullable":true,"example":15064,"description":"Number of the account's posts that contain media, as reported by X."},"favourites_count":{"type":"number","nullable":true,"example":15299,"description":"Number of posts the account has liked."},"verified":{"type":"boolean","nullable":true,"example":false,"description":"Legacy verification status. Read `is_blue_verified` for the current verification mark."},"is_blue_verified":{"type":"boolean","nullable":true,"example":true,"description":"Whether the account currently has X's blue verification mark."},"protected":{"type":"boolean","nullable":true,"example":false,"description":"Whether posts are restricted to approved followers. Protected timelines return an empty posts page."},"profile_image_url":{"type":"string","nullable":true,"example":"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg","description":"Account avatar URL at the size supplied by X."},"profile_banner_url":{"type":"string","nullable":true,"example":"https://pbs.twimg.com/profile_banners/11348282/1600956165","description":"The header image. Null on accounts that never set one."},"professional":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"nullable":true}],"example":null,"description":"Professional-account type and categories. Fields vary by account; null for non-professional accounts."},"requested_handle":{"type":"string","nullable":true,"example":"nasa","description":"Normalized handle from the request. Its letter casing may differ from `handle`."}},"required":["id","handle","name","description","location","website","created_at","followers_count","following_count","tweet_count","listed_count","media_count","favourites_count","verified","is_blue_verified","protected","profile_image_url","profile_banner_url","professional","requested_handle"]},"XTweetsResponse":{"type":"object","nullable":true,"properties":{"tweets":{"type":"array","items":{"$ref":"#/components/schemas/XTweet"},"description":"Posts on this timeline page. A short page can still have more results; use `has_more`. Each `id` can be sent to `/v1/x/tweet`."},"count":{"type":"number","example":12,"description":"Number of posts in `tweets`. Use `has_more`, not this count, to decide whether to continue."},"next_cursor":{"type":"string","nullable":true,"example":"DAABCgABGxxxxxxxxxxxLAAA","description":"Cursor to send as `cursor` for the next page. Null means no later page is available."},"has_more":{"type":"boolean","example":true,"description":"Whether another page is available. This is true when `next_cursor` exists and the page contains posts; a short non-empty page can still return true."},"handle":{"type":"string","nullable":true,"example":"NASA","description":"**The account this timeline belongs to, in X's own casing** — resolved from the handle you sent, which is usually cased differently."},"user_id":{"type":"string","nullable":true,"example":"11348282","description":"Stable account ID for the returned timeline."},"requested_count":{"type":"number","example":20,"description":"Requested post count. Compare with `count` to see how many posts were returned."},"cursor":{"type":"string","nullable":true,"example":null,"description":"The cursor this request used, echoed. Null on the first page. It makes a page in a log identifiable without the request beside it."},"usage_note":{"type":"string","example":"Send `next_cursor` to continue the timeline. A page may contain fewer posts than `count` while more results remain, so use `has_more` to determine when the timeline ends. Each post's `id` can be sent to `/v1/x/tweet`.","description":"The one paging rule this endpoint runs on, restated on every response so it survives a caller who never read this document."}},"required":["tweets","count","next_cursor","has_more","handle","user_id","requested_count","cursor","usage_note"]},"XTweet":{"type":"object","properties":{"id":{"type":"string","nullable":true,"example":"1978472698594644405","description":"**The tweet's id, and the exact value `/v1/x/tweet` takes.** That is the composition point of this whole platform: every row of a timeline page, and every tweet nested inside one, is directly fetchable with nothing constructed. Published as a string because X's snowflake ids exceed what a JSON number holds exactly."},"text":{"type":"string","nullable":true,"example":"There's space for everybody. ✨","description":"Post text. For reposts, this may contain a truncated `RT @handle` form and `retweeted_tweet.text` contains the original. For long posts, this contains the full note text and `is_long_post` is true."},"is_long_post":{"type":"boolean","example":false,"description":"Whether `text` contains the full body of an X note post."},"created_at":{"type":"string","nullable":true,"example":"Wed Oct 15 18:32:11 +0000 2025","description":"Post creation time in X's date format."},"lang":{"type":"string","nullable":true,"example":"en","description":"X's own language guess for the post, as a BCP-47-ish code. `qme`, `zxx` and `und` are real values it uses for posts it considers media- only or undetermined."},"conversation_id":{"type":"string","nullable":true,"example":"1978472698594644405","description":"ID of the conversation containing this post. Equal to `id` when the post starts the conversation."},"reply_to_tweet_id":{"type":"string","nullable":true,"example":null,"description":"ID of the parent post, or null when this post is not a reply. Send it to `/v1/x/tweet` to get the parent."},"reply_to_handle":{"type":"string","nullable":true,"example":null,"description":"The handle being replied to, when this post is a reply."},"like_count":{"type":"number","nullable":true,"example":2341,"description":"X's `favorite_count`, renamed to what the button says."},"retweet_count":{"type":"number","nullable":true,"example":412},"reply_count":{"type":"number","nullable":true,"example":88,"description":"Number of replies reported by X."},"quote_count":{"type":"number","nullable":true,"example":17},"bookmark_count":{"type":"number","nullable":true,"example":231,"description":"Number of bookmarks reported by X."},"view_count":{"type":"number","nullable":true,"example":54752,"description":"View count as a number. Null means X did not publish a view count; it does not mean zero views."},"possibly_sensitive":{"type":"boolean","nullable":true,"example":false,"description":"X's own sensitive-content flag on the post."},"entities":{"anyOf":[{"type":"object","additionalProperties":{"nullable":true}},{"type":"array","items":{"nullable":true}},{"nullable":true}],"example":null,"description":"X entities such as hashtags, URLs, user mentions, symbols, and media. Fields vary with the post's content."},"author":{"$ref":"#/components/schemas/XTweetAuthor"},"is_retweet":{"type":"boolean","example":false,"description":"Whether this post is a repost. For reposts, use `retweeted_tweet` for the original text and author."},"is_quote":{"type":"boolean","example":false,"description":"Whether this post quotes another. When true, `quoted_tweet` carries the quoted post in full — `text` here is the commentary and `text` there is what is being commented on."},"retweeted_tweet":{"allOf":[{"$ref":"#/components/schemas/XTweet"},{"nullable":true}]},"quoted_tweet":{"allOf":[{"$ref":"#/components/schemas/XTweet"},{"nullable":true}]}},"required":["id","text","is_long_post","created_at","lang","conversation_id","reply_to_tweet_id","reply_to_handle","like_count","retweet_count","reply_count","quote_count","bookmark_count","view_count","possibly_sensitive","entities","author","is_retweet","is_quote","retweeted_tweet","quoted_tweet"]},"XTweetAuthor":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"11348282","description":"The author's account id, as a string. Stable across a rename."},"handle":{"type":"string","nullable":true,"example":"NASA","description":"**The author's handle, which is what makes a retweet or a quote attributable.** On a retweet the outer tweet's author is the account that retweeted and `retweeted_tweet.author` is who wrote it."},"name":{"type":"string","nullable":true,"example":"NASA"},"verified":{"type":"boolean","nullable":true,"example":false,"description":"Legacy verification. `false` on most currently-verified accounts — see `is_blue_verified` beside it."},"is_blue_verified":{"type":"boolean","nullable":true,"example":true,"description":"The current verification mark, and the one to read."},"followers_count":{"type":"number","nullable":true,"example":92304095,"description":"**The author's follower count, riding along with every tweet.** It is why a timeline page is worth more than a list of texts: reach is attached to each row without a second call per author."},"profile_image_url":{"type":"string","nullable":true,"example":"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg"}},"required":["id","handle","name","verified","is_blue_verified","followers_count","profile_image_url"],"description":"**Who posted it, with their follower count attached.** On a retweet this is the account that retweeted; `retweeted_tweet.author` is who wrote the original."},"XTweetResponse":{"anyOf":[{"allOf":[{"$ref":"#/components/schemas/XTweet"},{"type":"object","properties":{"requested_tweet_id":{"type":"string","nullable":true,"example":"1978472698594644405","description":"**The id this request asked for, after cleaning** — with any pasted status URL already reduced away, so a join against your own input never rests on two layers agreeing about normalisation. It will equal the record's own `id`."},"usage_note":{"type":"string","example":"On a repost, `text` may be truncated; `retweeted_tweet` contains the original post when available.","description":"The two things a caller of this endpoint has to know, carried in the body as well as in these docs: what it does not return, and which `text` you are reading on a retweet."}},"required":["requested_tweet_id","usage_note"]}]},{"nullable":true}]},"XProfile":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"11348282","description":"Account ID as a string. It stays the same when the handle changes."},"handle":{"type":"string","nullable":true,"example":"NASA","description":"Current handle, in X's own casing."},"name":{"type":"string","nullable":true,"example":"NASA","description":"Display name."},"description":{"type":"string","nullable":true,"example":"Making the seemingly impossible, possible. ✨","description":"Profile bio."},"location":{"type":"string","nullable":true,"example":"Pale Blue Dot","description":"Free-text profile location, not a verified place."},"website":{"type":"string","nullable":true,"example":"https://www.nasa.gov/","description":"Profile link, expanded when X supplies the target."},"avatar_url":{"type":"string","nullable":true,"example":"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg","description":"Avatar image URL at the size X supplies."},"banner_url":{"type":"string","nullable":true,"example":"https://pbs.twimg.com/profile_banners/11348282/1788992290","description":"Header image URL. Null when the account has none."},"followers_count":{"type":"number","nullable":true,"example":92323915,"description":"Number of followers."},"following_count":{"type":"number","nullable":true,"example":115,"description":"Number of accounts followed."},"posts_count":{"type":"number","nullable":true,"example":74434,"description":"Total posts the account has made."},"media_count":{"type":"number","nullable":true,"example":28199,"description":"Posts with media. Null where the source omits it."},"likes_count":{"type":"number","nullable":true,"example":17030,"description":"Posts the account has liked."},"is_verified":{"type":"boolean","nullable":true,"example":false,"description":"Legacy verification. Read `is_blue_verified` for the current mark."},"is_blue_verified":{"type":"boolean","nullable":true,"example":true,"description":"Whether the account has X's current verification mark."},"verified_type":{"type":"string","nullable":true,"example":"Government","description":"Verification category such as `Government` or `Business`. Null when not applicable."},"protected":{"type":"boolean","nullable":true,"example":false,"description":"Whether posts are limited to approved followers."},"created_at":{"type":"string","nullable":true,"example":"2007-12-19T20:20:32.000Z","description":"Account creation time, ISO 8601 UTC."},"pinned_post_ids":{"type":"array","nullable":true,"items":{"type":"string"},"example":[],"description":"IDs of pinned posts. Null where the source omits the field, such as in follower lists."},"is_automated":{"type":"boolean","nullable":true,"example":false,"description":"Whether the account is labelled as automated. Null where the source omits it."}},"required":["id","handle","name","description","location","website","avatar_url","banner_url","followers_count","following_count","posts_count","media_count","likes_count","is_verified","is_blue_verified","verified_type","protected","created_at","pinned_post_ids","is_automated"]},"XProfileAbout":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"11348282","description":"Account ID."},"handle":{"type":"string","nullable":true,"example":"NASA","description":"Current handle."},"name":{"type":"string","nullable":true,"example":"NASA","description":"Display name."},"avatar_url":{"type":"string","nullable":true,"description":"Avatar image URL."},"created_at":{"type":"string","nullable":true,"example":"2007-12-19T20:20:32.000Z","description":"Account creation time, ISO 8601 UTC."},"is_verified":{"type":"boolean","nullable":true,"description":"Legacy verification status."},"is_blue_verified":{"type":"boolean","nullable":true,"description":"Whether the account has X's current verification mark."},"is_identity_verified":{"type":"boolean","nullable":true,"description":"Whether X has verified the owner's identity."},"verified_since":{"type":"string","nullable":true,"example":"2009-08-07T19:53:50.941Z","description":"When the verification mark was first granted, ISO 8601 UTC."},"protected":{"type":"boolean","nullable":true,"description":"Whether posts are limited to approved followers."},"account_based_in":{"type":"string","nullable":true,"example":"United States","description":"Country X shows in the About panel. Null when X does not show one."},"connected_via":{"type":"string","nullable":true,"example":"Android App Store","description":"Store or channel the account was created through, when X shows it."},"username_changes_count":{"type":"number","nullable":true,"example":0,"description":"How many times the handle has changed."},"affiliation":{"type":"string","nullable":true,"example":"X","description":"Name of the organization shown as the account's affiliate badge."}},"required":["id","handle","name","avatar_url","created_at","is_verified","is_blue_verified","is_identity_verified","verified_since","protected","account_based_in","connected_via","username_changes_count","affiliation"]},"XProfilePostsPage":{"type":"object","nullable":true,"properties":{"pinned_post":{"$ref":"#/components/schemas/XPost"},"posts":{"type":"array","items":{"$ref":"#/components/schemas/XPost"},"description":"Posts on this page, newest first."},"count":{"type":"number","example":20,"description":"Number of items on this page."},"cursor":{"type":"string","nullable":true,"description":"Send as `cursor` to fetch the next page. Null when there is no next page."},"has_more":{"type":"boolean","description":"Whether more pages exist. A page can be empty while this is `true`; keep paging until it is `false`."}},"required":["pinned_post","posts","count","cursor","has_more"]},"XPost":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"2110947164512038931","description":"Post ID as a string."},"url":{"type":"string","nullable":true,"example":"https://x.com/elonmusk/status/2110947164512038931","description":"Link to the post on x.com."},"text":{"type":"string","nullable":true,"description":"Post text. On a repost this is X's shortened form; the full text is in `reposted_post`."},"lang":{"type":"string","nullable":true,"example":"en","description":"Language code detected by X."},"source":{"type":"string","nullable":true,"example":"Twitter for iPhone","description":"Client that published the post, when X reports it."},"created_at":{"type":"string","nullable":true,"example":"2026-10-16T04:13:18.000Z","description":"Publication time, ISO 8601 UTC."},"like_count":{"type":"number","nullable":true,"description":"Number of likes."},"reply_count":{"type":"number","nullable":true,"description":"Number of replies."},"repost_count":{"type":"number","nullable":true,"description":"Number of reposts."},"quote_count":{"type":"number","nullable":true,"description":"Number of quote posts."},"view_count":{"type":"number","nullable":true,"description":"Number of views."},"bookmark_count":{"type":"number","nullable":true,"description":"Number of bookmarks."},"is_reply":{"type":"boolean","nullable":true,"description":"Whether the post replies to another post."},"in_reply_to_post_id":{"type":"string","nullable":true,"description":"ID of the post replied to. Null for non-replies."},"in_reply_to_user_id":{"type":"string","nullable":true,"description":"ID of the account replied to. Null for non-replies."},"in_reply_to_handle":{"type":"string","nullable":true,"description":"Handle of the account replied to. Null for non-replies."},"conversation_id":{"type":"string","nullable":true,"description":"ID of the first post in the thread this post belongs to."},"is_pinned":{"type":"boolean","nullable":true,"description":"Whether the author has pinned the post."},"author":{"allOf":[{"$ref":"#/components/schemas/XProfile"},{"description":"Account that published the post."}]},"media":{"type":"array","items":{"$ref":"#/components/schemas/XMedia"},"description":"Photos, videos, and GIFs attached to the post. Empty when none."},"hashtags":{"type":"array","items":{"type":"string"},"description":"Hashtags in the text, without `#`."},"mentions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","nullable":true,"description":"Mentioned account ID."},"handle":{"type":"string","nullable":true,"description":"Mentioned handle."},"name":{"type":"string","nullable":true,"description":"Mentioned display name."}},"required":["id","handle","name"]},"description":"Accounts mentioned in the text."},"urls":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","description":"Short link as written in `text`."},"expanded_url":{"type":"string","nullable":true,"description":"Destination the short link points to."}},"required":["url","expanded_url"]},"description":"Links in the text with their destinations."},"card":{"$ref":"#/components/schemas/XCard"},"article":{"$ref":"#/components/schemas/XArticleSummary"},"place":{"$ref":"#/components/schemas/XPlace"},"quoted_post":{"$ref":"#/components/schemas/XPostCore"},"reposted_post":{"allOf":[{"$ref":"#/components/schemas/XPostCore"},{"description":"The original post when this one is a repost. Null otherwise."}]}},"required":["id","url","text","lang","source","created_at","like_count","reply_count","repost_count","quote_count","view_count","bookmark_count","is_reply","in_reply_to_post_id","in_reply_to_user_id","in_reply_to_handle","conversation_id","is_pinned","author","media","hashtags","mentions","urls","card","article","place","quoted_post","reposted_post"],"description":"The account's pinned post. Null when none is pinned."},"XMedia":{"type":"object","properties":{"id":{"type":"string","nullable":true,"description":"Media ID."},"type":{"type":"string","nullable":true,"example":"photo","description":"`photo`, `video`, or `animated_gif`."},"url":{"type":"string","nullable":true,"description":"Image URL, or the poster frame for a video or GIF."},"alt_text":{"type":"string","nullable":true,"description":"Alt text written by the author."},"width":{"type":"number","nullable":true,"description":"Original width in pixels."},"height":{"type":"number","nullable":true,"description":"Original height in pixels."},"duration_ms":{"type":"number","nullable":true,"description":"Video length in milliseconds. Null for images and GIFs."},"variants":{"type":"array","nullable":true,"items":{"type":"object","properties":{"url":{"type":"string","description":"Direct file or playlist URL."},"content_type":{"type":"string","nullable":true,"example":"video/mp4","description":"MIME type of the file."},"bitrate":{"type":"number","nullable":true,"example":2176000,"description":"Bits per second. Null for playlists."}},"required":["url","content_type","bitrate"]},"description":"Playable files and playlists for a video or GIF. Null for photos."}},"required":["id","type","url","alt_text","width","height","duration_ms","variants"]},"XCard":{"type":"object","nullable":true,"properties":{"name":{"type":"string","nullable":true,"description":"Card type identifier."},"url":{"type":"string","nullable":true,"description":"Short link to the card."},"title":{"type":"string","nullable":true,"description":"Card title when the card has one."},"description":{"type":"string","nullable":true,"description":"Card description when the card has one."},"image_url":{"type":"string","nullable":true,"description":"Card image URL when the card has one."}},"required":["name","url","title","description","image_url"],"description":"Link or broadcast card. Null when absent."},"XArticleSummary":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"description":"Article ID."},"title":{"type":"string","nullable":true,"example":"When Tokens Burn","description":"Article title."},"preview_text":{"type":"string","nullable":true,"description":"Opening text of the article."},"cover_image_url":{"type":"string","nullable":true,"description":"Cover image URL."}},"required":["id","title","preview_text","cover_image_url"],"description":"Article attached to the post. Fetch the full text with `/v1/x/article`."},"XPlace":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"description":"Place ID."},"name":{"type":"string","nullable":true,"description":"Short place name."},"full_name":{"type":"string","nullable":true,"description":"Full place name."},"country":{"type":"string","nullable":true,"description":"Country name."},"country_code":{"type":"string","nullable":true,"example":"US","description":"ISO country code."},"place_type":{"type":"string","nullable":true,"example":"city","description":"Kind of place, such as `city` or `poi`."}},"required":["id","name","full_name","country","country_code","place_type"],"description":"Place tagged on the post. Null when none."},"XPostCore":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"2110947164512038931","description":"Post ID as a string."},"url":{"type":"string","nullable":true,"example":"https://x.com/elonmusk/status/2110947164512038931","description":"Link to the post on x.com."},"text":{"type":"string","nullable":true,"description":"Post text. On a repost this is X's shortened form; the full text is in `reposted_post`."},"lang":{"type":"string","nullable":true,"example":"en","description":"Language code detected by X."},"source":{"type":"string","nullable":true,"example":"Twitter for iPhone","description":"Client that published the post, when X reports it."},"created_at":{"type":"string","nullable":true,"example":"2026-10-16T04:13:18.000Z","description":"Publication time, ISO 8601 UTC."},"like_count":{"type":"number","nullable":true,"description":"Number of likes."},"reply_count":{"type":"number","nullable":true,"description":"Number of replies."},"repost_count":{"type":"number","nullable":true,"description":"Number of reposts."},"quote_count":{"type":"number","nullable":true,"description":"Number of quote posts."},"view_count":{"type":"number","nullable":true,"description":"Number of views."},"bookmark_count":{"type":"number","nullable":true,"description":"Number of bookmarks."},"is_reply":{"type":"boolean","nullable":true,"description":"Whether the post replies to another post."},"in_reply_to_post_id":{"type":"string","nullable":true,"description":"ID of the post replied to. Null for non-replies."},"in_reply_to_user_id":{"type":"string","nullable":true,"description":"ID of the account replied to. Null for non-replies."},"in_reply_to_handle":{"type":"string","nullable":true,"description":"Handle of the account replied to. Null for non-replies."},"conversation_id":{"type":"string","nullable":true,"description":"ID of the first post in the thread this post belongs to."},"is_pinned":{"type":"boolean","nullable":true,"description":"Whether the author has pinned the post."},"author":{"allOf":[{"$ref":"#/components/schemas/XProfile"},{"description":"Account that published the post."}]},"media":{"type":"array","items":{"$ref":"#/components/schemas/XMedia"},"description":"Photos, videos, and GIFs attached to the post. Empty when none."},"hashtags":{"type":"array","items":{"type":"string"},"description":"Hashtags in the text, without `#`."},"mentions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","nullable":true,"description":"Mentioned account ID."},"handle":{"type":"string","nullable":true,"description":"Mentioned handle."},"name":{"type":"string","nullable":true,"description":"Mentioned display name."}},"required":["id","handle","name"]},"description":"Accounts mentioned in the text."},"urls":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","description":"Short link as written in `text`."},"expanded_url":{"type":"string","nullable":true,"description":"Destination the short link points to."}},"required":["url","expanded_url"]},"description":"Links in the text with their destinations."},"card":{"$ref":"#/components/schemas/XCard"},"article":{"$ref":"#/components/schemas/XArticleSummary"},"place":{"$ref":"#/components/schemas/XPlace"}},"required":["id","url","text","lang","source","created_at","like_count","reply_count","repost_count","quote_count","view_count","bookmark_count","is_reply","in_reply_to_post_id","in_reply_to_user_id","in_reply_to_handle","conversation_id","is_pinned","author","media","hashtags","mentions","urls","card","article","place"],"description":"The post this one quotes, with its own author. Null when it quotes nothing."},"XPostsPage":{"type":"object","nullable":true,"properties":{"posts":{"type":"array","items":{"$ref":"#/components/schemas/XPost"},"description":"Posts on this page."},"count":{"type":"number","example":20,"description":"Number of items on this page."},"cursor":{"type":"string","nullable":true,"description":"Send as `cursor` to fetch the next page. Null when there is no next page."},"has_more":{"type":"boolean","description":"Whether more pages exist. A page can be empty while this is `true`; keep paging until it is `false`."}},"required":["posts","count","cursor","has_more"]},"XProfilesPage":{"type":"object","nullable":true,"properties":{"profiles":{"type":"array","items":{"$ref":"#/components/schemas/XProfile"},"description":"Accounts on this page."},"count":{"type":"number","example":20,"description":"Number of items on this page."},"cursor":{"type":"string","nullable":true,"description":"Send as `cursor` to fetch the next page. Null when there is no next page."},"has_more":{"type":"boolean","description":"Whether more pages exist. A page can be empty while this is `true`; keep paging until it is `false`."}},"required":["profiles","count","cursor","has_more"]},"XRelationship":{"type":"object","nullable":true,"properties":{"source":{"type":"string","example":"NASA","description":"Handle sent as `source`."},"target":{"type":"string","example":"elonmusk","description":"Handle sent as `target`."},"source_follows_target":{"type":"boolean","description":"Whether `source` follows `target`."},"target_follows_source":{"type":"boolean","description":"Whether `target` follows `source`."}},"required":["source","target","source_follows_target","target_follows_source"]},"XArticle":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"description":"Article ID."},"title":{"type":"string","nullable":true,"example":"When Tokens Burn","description":"Article title."},"preview_text":{"type":"string","nullable":true,"description":"Opening text of the article."},"cover_image_url":{"type":"string","nullable":true,"description":"Cover image URL."},"author":{"allOf":[{"$ref":"#/components/schemas/XProfile"},{"description":"Account that wrote the article."}]},"created_at":{"type":"string","nullable":true,"description":"Publication time, ISO 8601 UTC."},"like_count":{"type":"number","nullable":true,"description":"Number of likes."},"reply_count":{"type":"number","nullable":true,"description":"Number of replies."},"quote_count":{"type":"number","nullable":true,"description":"Number of quote posts."},"view_count":{"type":"number","nullable":true,"description":"Number of views."},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"unstyled","description":"Block type, such as `unstyled`, `header-two`, `unordered-list-item`, `image`, or `divider`."},"text":{"type":"string","nullable":true,"description":"Block text. Null for images and dividers."},"url":{"type":"string","nullable":true,"description":"Image URL for `image` blocks."},"width":{"type":"number","nullable":true,"description":"Image width in pixels for `image` blocks."},"height":{"type":"number","nullable":true,"description":"Image height in pixels for `image` blocks."},"styles":{"type":"array","nullable":true,"items":{"type":"object","properties":{"style":{"type":"string","example":"Bold"},"offset":{"type":"number","description":"Start of the styled range in `text`."},"length":{"type":"number","description":"Length of the styled range."}},"required":["style","offset","length"]},"description":"Inline style ranges inside `text`. Null when unstyled."}},"required":["type","text","url","width","height","styles"]},"description":"Article body as ordered blocks."}},"required":["id","title","preview_text","cover_image_url","author","created_at","like_count","reply_count","quote_count","view_count","content"]},"XMembersPage":{"type":"object","nullable":true,"properties":{"members":{"type":"array","items":{"$ref":"#/components/schemas/XProfile"},"description":"Members on this page."},"count":{"type":"number","example":20,"description":"Number of items on this page."},"cursor":{"type":"string","nullable":true,"description":"Send as `cursor` to fetch the next page. Null when there is no next page."},"has_more":{"type":"boolean","description":"Whether more pages exist. A page can be empty while this is `true`; keep paging until it is `false`."}},"required":["members","count","cursor","has_more"]},"XCommunity":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"example":"1493446837214187523","description":"Community ID."},"name":{"type":"string","nullable":true,"description":"Community name."},"description":{"type":"string","nullable":true,"description":"Community description."},"join_question":{"type":"string","nullable":true,"description":"Question applicants must answer. Null when none."},"member_count":{"type":"number","nullable":true,"description":"Number of members."},"moderator_count":{"type":"number","nullable":true,"description":"Number of moderators."},"created_at":{"type":"string","nullable":true,"description":"Creation time, ISO 8601 UTC."},"join_policy":{"type":"string","nullable":true,"example":"Open","description":"Who can join, such as `Open` or `RequiresApproval`."},"invites_policy":{"type":"string","nullable":true,"description":"Who can invite new members."},"is_nsfw":{"type":"boolean","nullable":true,"description":"Whether the community is marked sensitive."},"primary_topic":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"required":["id","name"],"description":"Main topic of the community."},"banner_url":{"type":"string","nullable":true,"description":"Banner image URL."},"rules":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true}},"required":["id","name","description"]},"description":"Community rules in display order."},"creator":{"allOf":[{"$ref":"#/components/schemas/XProfile"},{"description":"Account that created the community."}]},"admin":{"allOf":[{"$ref":"#/components/schemas/XProfile"},{"description":"Account that administers the community."}]}},"required":["id","name","description","join_question","member_count","moderator_count","created_at","join_policy","invites_policy","is_nsfw","primary_topic","banner_url","rules","creator","admin"]},"XModeratorsPage":{"type":"object","nullable":true,"properties":{"moderators":{"type":"array","items":{"$ref":"#/components/schemas/XProfile"},"description":"Moderators on this page."},"count":{"type":"number","example":20,"description":"Number of items on this page."},"cursor":{"type":"string","nullable":true,"description":"Send as `cursor` to fetch the next page. Null when there is no next page."},"has_more":{"type":"boolean","description":"Whether more pages exist. A page can be empty while this is `true`; keep paging until it is `false`."}},"required":["moderators","count","cursor","has_more"]},"XSpace":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"description":"Space ID."},"title":{"type":"string","nullable":true,"description":"Space title."},"state":{"type":"string","nullable":true,"example":"Ended","description":"`NotStarted`, `Live`, or `Ended`."},"created_at":{"type":"string","nullable":true,"description":"Creation time, ISO 8601 UTC."},"scheduled_start":{"type":"string","nullable":true,"description":"Planned start time, ISO 8601 UTC. Null when unscheduled."},"updated_at":{"type":"string","nullable":true,"description":"Last update time, ISO 8601 UTC."},"replay_watched_count":{"type":"number","nullable":true,"description":"Number of replay views."},"live_listener_count":{"type":"number","nullable":true,"description":"Number of live listeners."},"participant_count":{"type":"number","nullable":true,"description":"Number of participants."},"creator":{"allOf":[{"$ref":"#/components/schemas/XProfile"},{"description":"Account that created the Space."}]},"admins":{"type":"array","items":{"$ref":"#/components/schemas/XProfile"},"description":"Hosts of the Space."},"speakers":{"type":"array","items":{"$ref":"#/components/schemas/XProfile"},"description":"Speakers in the Space."},"listeners":{"type":"array","items":{"$ref":"#/components/schemas/XProfile"},"description":"Listeners X lists for the Space."}},"required":["id","title","state","created_at","scheduled_start","updated_at","replay_watched_count","live_listener_count","participant_count","creator","admins","speakers","listeners"]},"XTrends":{"type":"object","nullable":true,"properties":{"woeid":{"type":"number","nullable":true,"example":1,"description":"Where On Earth ID of the location."},"location":{"type":"string","nullable":true,"example":"Worldwide","description":"Location name."},"updated_at":{"type":"string","nullable":true,"description":"When X last refreshed the list, ISO 8601 UTC."},"count":{"type":"number","example":30,"description":"Number of trends returned."},"trends":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number","nullable":true,"example":1,"description":"Position in the list, 1 is first."},"name":{"type":"string","description":"Trend title."},"query":{"type":"string","nullable":true,"description":"Search text for this trend. Send it as `query` to `/v1/x/search`."}},"required":["rank","name","query"]}}},"required":["woeid","location","updated_at","count","trends"]},"AuthenticityReport":{"type":"object","nullable":true,"properties":{"authenticity_score":{"type":"number","example":62,"description":"0–100, higher is more consistent with an organic review set. It is a summary of the evidence below, not a verdict: read `flags` before acting on it."},"reviews_analyzed":{"type":"integer","example":40},"signal_coverage":{"type":"array","items":{"type":"object","properties":{"signal":{"type":"string","enum":["burstiness","rating_shape","text_duplication","template_phrasing","reviewer_pattern"]},"applicable":{"type":"boolean"},"skipped_reason":{"type":"string","nullable":true,"example":"not_enough_dated_reviews"},"usable_reviews":{"type":"integer","example":38}},"required":["signal","applicable","skipped_reason","usable_reviews"]},"description":"Which of the five signals could be measured on this input. A signal that could not run scores nothing in either direction — check this before reading a high score as a clean bill of health."},"distribution":{"type":"object","properties":{"suspicion":{"type":"object","properties":{"low":{"type":"integer","example":31},"medium":{"type":"integer","example":5},"high":{"type":"integer","example":4}},"required":["low","medium","high"]},"ratings":{"type":"object","nullable":true,"additionalProperties":{"type":"number"},"example":{"1":6,"2":1,"3":2,"4":4,"5":27},"description":"Histogram by whole star. Null when too few reviews carried a rating to measure a shape."}},"required":["suspicion","ratings"]},"flags":{"type":"array","items":{"$ref":"#/components/schemas/AuthenticityFlag"},"description":"Findings about the SET rather than any one review — burst windows, rating bimodality, duplicate-text clusters. Ordered most severe first."},"signals":{"type":"object","additionalProperties":{"type":"object","properties":{"applicable":{"type":"boolean"},"aggregate":{"$ref":"#/components/schemas/AuthenticityEvidence"}},"required":["applicable","aggregate"]},"description":"Per-signal corpus measurements, keyed by signal name. Present whether or not the signal fired, so a clean set shows its numbers too."},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/ScoredReview"}}},"required":["authenticity_score","reviews_analyzed","signal_coverage","distribution","flags","signals","reviews"]},"AuthenticityFlag":{"type":"object","properties":{"type":{"type":"string","example":"duplicate_text_cluster"},"severity":{"type":"string","enum":["low","medium","high"],"example":"high"},"summary":{"type":"string","example":"2 near-duplicate text clusters covering 9 of 40 reviews with usable text; 2 span more than one reviewer.","description":"One plain sentence, safe to show an end user."},"evidence":{"$ref":"#/components/schemas/AuthenticityEvidence"}},"required":["type","severity","summary","evidence"]},"AuthenticityEvidence":{"type":"object","additionalProperties":{"nullable":true},"description":"The measurement behind a finding, in the units it was measured in. Fields differ by signal and new ones may be added."},"ScoredReview":{"type":"object","properties":{"index":{"type":"integer","example":7,"description":"Position in the `reviews` array you sent."},"id":{"type":"string","nullable":true,"example":"6a80e73565b884964e2bc035"},"suspicion":{"type":"string","enum":["low","medium","high"],"example":"high"},"suspicion_score":{"type":"number","example":0.7,"description":"Sum of the weights of every signal that fired on this review, capped at 1. `medium` starts at 0.3, `high` at 0.6."},"signals":{"type":"array","items":{"type":"object","properties":{"signal":{"type":"string","enum":["burstiness","rating_shape","text_duplication","template_phrasing","reviewer_pattern"],"example":"text_duplication"},"weight":{"type":"number","example":0.55},"evidence":{"$ref":"#/components/schemas/AuthenticityEvidence"}},"required":["signal","weight","evidence"]},"description":"Which heuristics fired and what each one measured. An empty array means nothing fired — not that the review was verified."}},"required":["index","id","suspicion","suspicion_score","signals"]},"AuthenticityRequest":{"type":"object","properties":{"platform":{"type":"string","enum":["trustpilot","google-maps","yelp","glassdoor","tripadvisor","airbnb","booking","g2","capterra","app-store","google-play","tiktok-shop","rednote","amazon","other"],"default":"other","example":"trustpilot","description":"Where the reviews came from. Recorded on the response and used for nothing else in v1: no per-platform reference curve is applied unless you supply one in `rating_baseline`."},"rating_scale":{"type":"integer","minimum":2,"maximum":10,"default":5,"example":5,"description":"Highest possible rating. 5 on Trustpilot, Google Maps, Yelp, Glassdoor and TripAdvisor; 10 on Booking."},"burst_window_days":{"type":"integer","minimum":1,"maximum":90,"default":3,"example":3,"description":"Width of the sliding window the burst check counts reviews in. Widen it for a business that reviews slowly, narrow it to catch a single-day drop."},"rating_baseline":{"type":"object","nullable":true,"additionalProperties":{"type":"number","minimum":0,"maximum":1},"example":{"1":0.12,"2":0.03,"3":0.04,"4":0.09,"5":0.72},"description":"Your own reference rating curve for this platform, keyed by star as a string. Supply it and the response reports the total-variation distance from it. Omit it and shape statistics are used alone — we publish no reference curve we have not measured."},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/ReviewInput"},"minItems":1,"maxItems":500,"description":"The review set for ONE business or listing, up to 500 per request. Mixing several businesses into one array invalidates every signal here, all of which measure a set against its own baseline."}},"required":["reviews"]},"ReviewInput":{"type":"object","properties":{"id":{"type":"string","nullable":true,"maxLength":200,"example":"6a80e73565b884964e2bc035","description":"Your own identifier for this review. Echoed back on the scored row so you can join the result to your data. Never used as a signal."},"rating":{"type":"number","nullable":true,"example":5,"description":"The star rating, on the scale given by `rating_scale`. Rounded to the nearest whole star before the distribution is measured. Omit where the platform publishes none."},"text":{"type":"string","nullable":true,"maxLength":10000,"example":"Delivery was quick and the packaging was intact.","description":"The review body. Used for near-duplicate clustering and repeated-phrase detection. Never logged, never stored, never sent anywhere."},"date":{"type":"string","nullable":true,"maxLength":64,"example":"2026-08-16T00:24:53.000Z","description":"When the review was published, ISO 8601 or any date string `Date.parse` accepts. Resolved to a whole UTC day. Unparseable values are skipped rather than rejected."},"reviewer_name":{"type":"string","nullable":true,"maxLength":200,"example":"Rosemary Hart","description":"Display name, where the platform publishes one. Only its SHAPE is returned in evidence (`Aaaaaaaa Aaaa`) — the name itself is never echoed back or logged."},"reviewer_id":{"type":"string","nullable":true,"maxLength":200,"example":"6379404e69c66a0012fb0e39","description":"Stable account identifier, where the platform publishes one. Used to tell 'six accounts wrote this' apart from 'one account wrote it six times'."},"reviewer_review_count":{"type":"integer","nullable":true,"minimum":0,"example":5,"description":"How many reviews the account has written in total. Trustpilot publishes this; Google Maps and Glassdoor do not. Absent means the single-review-account check is skipped, not passed."}}}}},"paths":{"/v1/credits":{"get":{"operationId":"V1 Credits Balance","tags":["Platform"],"summary":"Get credit balance","description":"Get the credit balance for the API key's workspace. This operation does not consume credits.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"balance":{"type":"number"},"allowance":{"type":"number"},"period_start":{"type":"string"}},"required":["balance","allowance","period_start"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":0,"x-audience":"customer","x-status":"live","x-product":"platform","x-toolzer-verified":false}},"/v1/usage":{"get":{"operationId":"V1 Usage","tags":["Platform"],"summary":"Get usage","description":"Get workspace usage by day, endpoint, source, and status. A workspace with no recorded usage returns empty series; this operation does not consume credits.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":730,"default":30},"required":false,"name":"days","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"daily":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"requests":{"type":"number"},"credits":{"type":"number"}},"required":["date","requests","credits"]}},"endpoints":{"type":"array","items":{"type":"object","properties":{"method":{"type":"string"},"path":{"type":"string"},"sourceId":{"type":"string"},"requests":{"type":"number"},"credits":{"type":"number"},"creditsPerCall":{"type":"number"},"p95ms":{"type":"number"},"errors":{"type":"number"},"errorRate":{"type":"number"}},"required":["method","path","sourceId","requests","credits","creditsPerCall","p95ms","errors","errorRate"]}},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"requests":{"type":"number"},"credits":{"type":"number"},"errors":{"type":"number"},"errorRate":{"type":"number"}},"required":["id","name","requests","credits","errors","errorRate"]}},"statuses":{"type":"array","items":{"type":"object","properties":{"status":{"type":"number"},"code":{"type":"string","nullable":true},"count":{"type":"number"},"isError":{"type":"boolean"}},"required":["status","code","count","isError"]}},"latency":{"type":"object","properties":{"p50":{"type":"number"},"p95":{"type":"number"},"p99":{"type":"number"}},"required":["p50","p95","p99"]},"upstreamAttribution":{"type":"object","properties":{"totalErrors":{"type":"number"},"upstreamErrors":{"type":"number"},"internalErrors":{"type":"number"},"noUpstreamErrors":{"type":"number"}},"required":["totalErrors","upstreamErrors","internalErrors","noUpstreamErrors"]}},"required":["daily","endpoints","sources","statuses","latency","upstreamAttribution"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":0,"x-audience":"customer","x-status":"live","x-product":"platform","x-toolzer-verified":false}},"/v1/account":{"get":{"operationId":"V1 Account","tags":["Platform"],"summary":"Get account","description":"Get the API key's workspace ID, name, plan, and status. This operation does not consume credits.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"workspace_id":{"type":"string"},"workspace_name":{"type":"string"},"plan":{"type":"string"},"status":{"type":"string"}},"required":["workspace_id","workspace_name","plan","status"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":0,"x-audience":"customer","x-status":"live","x-product":"platform","x-toolzer-verified":false}},"/v1/meta/resolve-url":{"get":{"operationId":"Resolve Meta Ads URL","tags":["Meta Ads"],"summary":"Resolve a Meta Ad Library URL","description":"Parses a public Facebook Ad Library search or page-browse `url` and returns the matching operation (`search` or `page`) with its parameters. It returns resolution data only, not ads.","parameters":[{"schema":{"type":"string","maxLength":2000,"format":"uri","example":"https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=running%20shoes&search_type=keyword_unordered","description":"A public Facebook Meta Ad Library search or page-browse URL."},"required":true,"description":"A public Facebook Meta Ad Library search or page-browse URL.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"oneOf":[{"type":"object","properties":{"operation":{"type":"string","enum":["search"]},"params":{"type":"object","properties":{"q":{"type":"string","minLength":1,"description":"Search keyword, phrase, or advertiser name.","example":"flipkart"},"country":{"type":"string","minLength":2,"maxLength":2,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","example":"IN"},"active_status":{"type":"string","enum":["all","active","inactive"],"description":"Ad delivery status. all = active and inactive ads, active = currently running ads, inactive = stopped ads."},"ad_type":{"type":"string","enum":["ALL","POLITICAL_AND_ISSUE_ADS","HOUSING_ADS","EMPLOYMENT_ADS","CREDIT_ADS"],"description":"Ad category. ALL includes all ad types; other values narrow results to the selected category."},"search_type":{"type":"string","enum":["keyword_unordered","keyword_exact_phrase"],"description":"Query match mode. keyword_unordered matches all words in any order; keyword_exact_phrase matches the exact phrase."},"media_type":{"type":"string","enum":["all","image","video","meme"],"description":"Creative format filter. all = every format, image = static images, video = videos, meme = image/text meme-style creatives."},"sort_mode":{"type":"string","enum":["total_impressions"],"description":"Sort by total impressions."},"sort_direction":{"type":"string","enum":["desc"],"description":"Sort direction. Use with sort_mode."},"date_min":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Start Date in YYYY-MM-DD format.","example":"2026-01-01"},"date_max":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"End Date in YYYY-MM-DD format.","example":"2026-12-31"},"content_languages":{"type":"string","description":"Comma-separated ISO 639-1 language codes, for example en,hi.","example":"en,hi"},"publisher_platforms":{"type":"string","description":"Comma-separated platforms. Accepted values: FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER.","example":"FACEBOOK,INSTAGRAM"},"page_ids":{"type":"string","description":"Comma-separated page IDs to limit results to selected advertisers.","example":"102988293558,10369058551"},"is_targeted_country":{"type":"boolean","description":"When true, only return ads targeted to the selected country."},"potential_reach_min":{"type":"integer","nullable":true,"minimum":0,"description":"Minimum estimated audience size."},"potential_reach_max":{"type":"integer","nullable":true,"minimum":0,"description":"Maximum estimated audience size."}},"required":["q"]}},"required":["operation","params"]},{"type":"object","properties":{"operation":{"type":"string","enum":["page"]},"params":{"type":"object","properties":{"page_id":{"type":"string","minLength":1,"description":"Numeric advertiser Page ID, from a `Search Pages` result or `Resolve Page ID`.","example":"102988293558"},"country":{"type":"string","minLength":2,"maxLength":2,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","example":"IN"},"active_status":{"type":"string","enum":["all","active","inactive"],"description":"Ad delivery status. all = active and inactive ads, active = currently running ads, inactive = stopped ads."},"media_type":{"type":"string","enum":["all","image","video","meme"],"description":"Creative format filter. all = every format, image = static images, video = videos, meme = image/text meme-style creatives."},"sort_mode":{"type":"string","enum":["total_impressions"],"description":"Sort by total impressions."},"sort_direction":{"type":"string","enum":["desc"],"description":"Sort direction. Use with sort_mode."},"date_min":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Start Date in YYYY-MM-DD format.","example":"2026-01-01"},"date_max":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"End Date in YYYY-MM-DD format.","example":"2026-12-31"},"content_languages":{"type":"string","description":"Comma-separated ISO 639-1 language codes, for example en,hi.","example":"en,hi"},"publisher_platforms":{"type":"string","description":"Comma-separated platforms. Accepted values: FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER.","example":"FACEBOOK,INSTAGRAM"}},"required":["page_id"]}},"required":["operation","params"]},{"nullable":true}]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"meta","x-toolzer-verified":true}},"/v1/meta/search":{"get":{"operationId":"Search Ads","tags":["Meta Ads"],"summary":"Search Meta ads by keyword","description":"Searches the public Meta Ad Library (Facebook and Instagram ads) for required `q`. Filter by country, delivery status, ad type, media type, dates, language, platform, advertiser page, and reach. Use `cursor` to page; `page_size` is 1-50.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Search keyword, phrase, or advertiser name.","example":"flipkart"},"required":true,"description":"Search keyword, phrase, or advertiser name.","name":"q","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":2,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","example":"IN"},"required":false,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","name":"country","in":"query"},{"schema":{"type":"string","enum":["all","active","inactive"],"description":"Ad delivery status. all = active and inactive ads, active = currently running ads, inactive = stopped ads."},"required":false,"description":"Ad delivery status. all = active and inactive ads, active = currently running ads, inactive = stopped ads.","name":"active_status","in":"query"},{"schema":{"type":"string","enum":["ALL","POLITICAL_AND_ISSUE_ADS","HOUSING_ADS","EMPLOYMENT_ADS","CREDIT_ADS"],"description":"Ad category. ALL includes all ad types; other values narrow results to the selected category."},"required":false,"description":"Ad category. ALL includes all ad types; other values narrow results to the selected category.","name":"ad_type","in":"query"},{"schema":{"type":"string","enum":["keyword_unordered","keyword_exact_phrase"],"description":"Query match mode. keyword_unordered matches all words in any order; keyword_exact_phrase matches the exact phrase."},"required":false,"description":"Query match mode. keyword_unordered matches all words in any order; keyword_exact_phrase matches the exact phrase.","name":"search_type","in":"query"},{"schema":{"type":"string","enum":["all","image","video","meme"],"description":"Creative format filter. all = every format, image = static images, video = videos, meme = image/text meme-style creatives."},"required":false,"description":"Creative format filter. all = every format, image = static images, video = videos, meme = image/text meme-style creatives.","name":"media_type","in":"query"},{"schema":{"type":"string","enum":["total_impressions"],"description":"Sort by total impressions."},"required":false,"description":"Sort by total impressions.","name":"sort_mode","in":"query"},{"schema":{"type":"string","enum":["desc"],"description":"Sort direction. Use with sort_mode."},"required":false,"description":"Sort direction. Use with sort_mode.","name":"sort_direction","in":"query"},{"schema":{"type":"string","description":"Pass `pageInfo.cursor` from the previous response to get the next page. Omit for the first page."},"required":false,"description":"Pass `pageInfo.cursor` from the previous response to get the next page. Omit for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Number of ads to return per request. Accepted range: 1-50.","example":10},"required":false,"description":"Number of ads to return per request. Accepted range: 1-50.","name":"page_size","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Start Date in YYYY-MM-DD format.","example":"2026-01-01"},"required":false,"description":"Start Date in YYYY-MM-DD format.","name":"date_min","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"End Date in YYYY-MM-DD format.","example":"2026-12-31"},"required":false,"description":"End Date in YYYY-MM-DD format.","name":"date_max","in":"query"},{"schema":{"type":"string","description":"Comma-separated ISO 639-1 language codes, for example en,hi.","example":"en,hi"},"required":false,"description":"Comma-separated ISO 639-1 language codes, for example en,hi.","name":"content_languages","in":"query"},{"schema":{"type":"string","description":"Comma-separated platforms. Accepted values: FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER.","example":"FACEBOOK,INSTAGRAM"},"required":false,"description":"Comma-separated platforms. Accepted values: FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER.","name":"publisher_platforms","in":"query"},{"schema":{"type":"string","description":"Comma-separated page IDs to limit results to selected advertisers.","example":"102988293558,10369058551"},"required":false,"description":"Comma-separated page IDs to limit results to selected advertisers.","name":"page_ids","in":"query"},{"schema":{"type":"boolean","description":"When true, only return ads targeted to the selected country."},"required":false,"description":"When true, only return ads targeted to the selected country.","name":"is_targeted_country","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"description":"Minimum estimated audience size."},"required":false,"description":"Minimum estimated audience size.","name":"potential_reach_min","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"description":"Maximum estimated audience size."},"required":false,"description":"Maximum estimated audience size.","name":"potential_reach_max","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{"ad_archive_id":{"type":"string","minLength":1},"page_id":{"type":"string","nullable":true,"minLength":1}},"required":["ad_archive_id"],"additionalProperties":{"nullable":true}}},"pageInfo":{"type":"object","properties":{"cursor":{"type":"string","nullable":true},"hasNextPage":{"type":"boolean"}},"required":["cursor","hasNextPage"]}},"required":["items","pageInfo"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"meta","x-toolzer-verified":true}},"/v1/meta/ad-details":{"get":{"operationId":"Get Ad Details","tags":["Meta Ads"],"summary":"Get Meta ad details","description":"Returns public metadata for one Meta ad, including its advertiser. Requires `ad_archive_id` and the advertiser `page_id`, both from a search or page-ads result. Optional `country` sets the region; `raw` returns the unprocessed payload.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Ad archive ID, from the `ad_archive_id` field of a search or page-ads result.","example":"527778036512305"},"required":true,"description":"Ad archive ID, from the `ad_archive_id` field of a search or page-ads result.","name":"ad_archive_id","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Numeric advertiser Page ID, from a `Search Pages` result or `Resolve Page ID`.","example":"102988293558"},"required":true,"description":"Numeric advertiser Page ID, from a `Search Pages` result or `Resolve Page ID`.","name":"page_id","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":2,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","example":"IN"},"required":false,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","name":"country","in":"query"},{"schema":{"type":"boolean","description":"Set to true to return the unprocessed Ad Library payload instead of the normalized response.","example":false},"required":false,"description":"Set to true to return the unprocessed Ad Library payload instead of the normalized response.","name":"raw","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"advertiser":{"type":"object","nullable":true,"properties":{"page":{"type":"object","nullable":true,"properties":{"id":{"type":"string","minLength":1}},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"meta","x-toolzer-verified":true}},"/v1/meta/filter-options":{"get":{"operationId":"Get Filter Options","tags":["Meta Ads"],"summary":"List Meta ad filter options","description":"Returns the languages, advertiser pages, and regions that match required `query_string` in the Meta Ad Library. Optional `ad_type`, `country`, and `search_type` set the context; `raw` returns the unprocessed payload.","parameters":[{"schema":{"type":"string","enum":["ALL","POLITICAL_AND_ISSUE_ADS","HOUSING_ADS","EMPLOYMENT_ADS","CREDIT_ADS"],"description":"Ad category context for filter discovery."},"required":false,"description":"Ad category context for filter discovery.","name":"ad_type","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":2,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","example":"IN"},"required":false,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","name":"country","in":"query"},{"schema":{"type":"string","enum":["keyword_unordered","keyword_exact_phrase"],"description":"Query match mode. keyword_unordered matches all words in any order; keyword_exact_phrase matches the exact phrase."},"required":false,"description":"Query match mode. keyword_unordered matches all words in any order; keyword_exact_phrase matches the exact phrase.","name":"search_type","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Search query used to return context-specific filter options.","example":"flipkart"},"required":true,"description":"Search query used to return context-specific filter options.","name":"query_string","in":"query"},{"schema":{"type":"boolean","description":"Set to true to return the unprocessed Ad Library payload instead of the normalized response.","example":false},"required":false,"description":"Set to true to return the unprocessed Ad Library payload instead of the normalized response.","name":"raw","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"meta","x-toolzer-verified":true}},"/v1/meta/page":{"get":{"operationId":"Get Page Ads","tags":["Meta Ads"],"summary":"List Meta ads by page ID","description":"Lists ads from the public Meta Ad Library for one advertiser, identified by required `page_id`. Filter by country, status, media type, dates, language, and platform. Use `cursor` to page; `page_size` is 1-50.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric advertiser Page ID, from a `Search Pages` result or `Resolve Page ID`.","example":"102988293558"},"required":true,"description":"Numeric advertiser Page ID, from a `Search Pages` result or `Resolve Page ID`.","name":"page_id","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":2,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","example":"IN"},"required":false,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","name":"country","in":"query"},{"schema":{"type":"string","enum":["all","active","inactive"],"description":"Ad delivery status. all = active and inactive ads, active = currently running ads, inactive = stopped ads."},"required":false,"description":"Ad delivery status. all = active and inactive ads, active = currently running ads, inactive = stopped ads.","name":"active_status","in":"query"},{"schema":{"type":"string","enum":["all","image","video","meme"],"description":"Creative format filter. all = every format, image = static images, video = videos, meme = image/text meme-style creatives."},"required":false,"description":"Creative format filter. all = every format, image = static images, video = videos, meme = image/text meme-style creatives.","name":"media_type","in":"query"},{"schema":{"type":"string","enum":["total_impressions"],"description":"Sort by total impressions."},"required":false,"description":"Sort by total impressions.","name":"sort_mode","in":"query"},{"schema":{"type":"string","enum":["desc"],"description":"Sort direction. Use with sort_mode."},"required":false,"description":"Sort direction. Use with sort_mode.","name":"sort_direction","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Start Date in YYYY-MM-DD format.","example":"2026-01-01"},"required":false,"description":"Start Date in YYYY-MM-DD format.","name":"date_min","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"End Date in YYYY-MM-DD format.","example":"2026-12-31"},"required":false,"description":"End Date in YYYY-MM-DD format.","name":"date_max","in":"query"},{"schema":{"type":"string","description":"Pass `pageInfo.cursor` from the previous response to get the next page. Omit for the first page."},"required":false,"description":"Pass `pageInfo.cursor` from the previous response to get the next page. Omit for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Number of ads to return per request. Accepted range: 1-50.","example":10},"required":false,"description":"Number of ads to return per request. Accepted range: 1-50.","name":"page_size","in":"query"},{"schema":{"type":"string","description":"Comma-separated ISO 639-1 language codes, for example en,hi.","example":"en,hi"},"required":false,"description":"Comma-separated ISO 639-1 language codes, for example en,hi.","name":"content_languages","in":"query"},{"schema":{"type":"string","description":"Comma-separated platforms. Accepted values: FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER.","example":"FACEBOOK,INSTAGRAM"},"required":false,"description":"Comma-separated platforms. Accepted values: FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER.","name":"publisher_platforms","in":"query"},{"schema":{"type":"boolean","description":"Set to true to return the unprocessed Ad Library payload instead of the normalized response.","example":false},"required":false,"description":"Set to true to return the unprocessed Ad Library payload instead of the normalized response.","name":"raw","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{"ad_archive_id":{"type":"string","minLength":1},"page_id":{"type":"string","nullable":true,"minLength":1}},"required":["ad_archive_id"],"additionalProperties":{"nullable":true}}},"pageInfo":{"type":"object","properties":{"cursor":{"type":"string","nullable":true},"hasNextPage":{"type":"boolean"}},"required":["cursor","hasNextPage"]}},"required":["items","pageInfo"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"meta","x-toolzer-verified":true}},"/v1/meta/page-id":{"get":{"operationId":"Resolve Page ID","tags":["Meta Ads"],"summary":"Resolve a Facebook Page ID","description":"Converts a Facebook Page `url` (page URL or username) to the numeric Ad Library `page_id` used by the page endpoints. A bare numeric id or a `profile.php?id=` URL is returned as-is.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":2000,"description":"A public Facebook Page URL or its username/handle — for example `https://www.facebook.com/nike`, `facebook.com/nike`, or just `nike`. A `profile.php?id=` URL or a bare numeric Page ID is accepted and used as-is.","example":"https://www.facebook.com/nike"},"required":true,"description":"A public Facebook Page URL or its username/handle — for example `https://www.facebook.com/nike`, `facebook.com/nike`, or just `nike`. A `profile.php?id=` URL or a bare numeric Page ID is accepted and used as-is.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"page_id":{"type":"string","description":"The numeric Ad Library Page id (view_all_page_id)."},"input":{"type":"string","description":"The URL or username that was resolved."},"source":{"type":"string","enum":["resolved_from_url","provided_id"],"description":"resolved_from_url = looked up from the Page URL/username; provided_id = the input was already a numeric id."}},"required":["page_id","input","source"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"meta","x-toolzer-verified":true}},"/v1/meta/page-by-url":{"get":{"operationId":"Get Page Ads Without ID","tags":["Meta Ads"],"summary":"List Meta ads by page URL","description":"Lists Meta Ad Library ads for a Facebook Page given its `url` (page URL or username), with no numeric `page_id` needed. Filters and `cursor` pagination match `Get Page Ads`.","parameters":[{"schema":{"type":"string","minLength":2,"maxLength":2,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","example":"IN"},"required":false,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","name":"country","in":"query"},{"schema":{"type":"string","enum":["all","active","inactive"],"description":"Ad delivery status. all = active and inactive ads, active = currently running ads, inactive = stopped ads."},"required":false,"description":"Ad delivery status. all = active and inactive ads, active = currently running ads, inactive = stopped ads.","name":"active_status","in":"query"},{"schema":{"type":"string","enum":["all","image","video","meme"],"description":"Creative format filter. all = every format, image = static images, video = videos, meme = image/text meme-style creatives."},"required":false,"description":"Creative format filter. all = every format, image = static images, video = videos, meme = image/text meme-style creatives.","name":"media_type","in":"query"},{"schema":{"type":"string","enum":["total_impressions"],"description":"Sort by total impressions."},"required":false,"description":"Sort by total impressions.","name":"sort_mode","in":"query"},{"schema":{"type":"string","enum":["desc"],"description":"Sort direction. Use with sort_mode."},"required":false,"description":"Sort direction. Use with sort_mode.","name":"sort_direction","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Start Date in YYYY-MM-DD format.","example":"2026-01-01"},"required":false,"description":"Start Date in YYYY-MM-DD format.","name":"date_min","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"End Date in YYYY-MM-DD format.","example":"2026-12-31"},"required":false,"description":"End Date in YYYY-MM-DD format.","name":"date_max","in":"query"},{"schema":{"type":"string","description":"Pass `pageInfo.cursor` from the previous response to get the next page. Omit for the first page."},"required":false,"description":"Pass `pageInfo.cursor` from the previous response to get the next page. Omit for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Number of ads to return per request. Accepted range: 1-50.","example":10},"required":false,"description":"Number of ads to return per request. Accepted range: 1-50.","name":"page_size","in":"query"},{"schema":{"type":"string","description":"Comma-separated ISO 639-1 language codes, for example en,hi.","example":"en,hi"},"required":false,"description":"Comma-separated ISO 639-1 language codes, for example en,hi.","name":"content_languages","in":"query"},{"schema":{"type":"string","description":"Comma-separated platforms. Accepted values: FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER.","example":"FACEBOOK,INSTAGRAM"},"required":false,"description":"Comma-separated platforms. Accepted values: FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER.","name":"publisher_platforms","in":"query"},{"schema":{"type":"boolean","description":"Set to true to return the unprocessed Ad Library payload instead of the normalized response.","example":false},"required":false,"description":"Set to true to return the unprocessed Ad Library payload instead of the normalized response.","name":"raw","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":2000,"description":"A public Facebook Page URL or its username/handle — for example `https://www.facebook.com/nike`, `facebook.com/nike`, or just `nike`. A `profile.php?id=` URL or a bare numeric Page ID is accepted and used as-is.","example":"https://www.facebook.com/nike"},"required":true,"description":"A public Facebook Page URL or its username/handle — for example `https://www.facebook.com/nike`, `facebook.com/nike`, or just `nike`. A `profile.php?id=` URL or a bare numeric Page ID is accepted and used as-is.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{"ad_archive_id":{"type":"string","minLength":1},"page_id":{"type":"string","nullable":true,"minLength":1}},"required":["ad_archive_id"],"additionalProperties":{"nullable":true}}},"pageInfo":{"type":"object","properties":{"cursor":{"type":"string","nullable":true},"hasNextPage":{"type":"boolean"}},"required":["cursor","hasNextPage"]}},"required":["items","pageInfo"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"meta","x-toolzer-verified":true}},"/v1/meta/search-pages":{"get":{"operationId":"Search Pages","tags":["Meta Ads"],"summary":"Search Meta advertisers","description":"Searches the Meta Ad Library for advertiser pages matching required `q`. Returns page IDs and verification details to use with the page endpoints. Optional `country` and `ad_type` narrow results; `raw` returns the unprocessed payload.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Brand, company, or advertiser page search query.","example":"flipkart"},"required":true,"description":"Brand, company, or advertiser page search query.","name":"q","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":2,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","example":"IN"},"required":false,"description":"ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE.","name":"country","in":"query"},{"schema":{"type":"string","enum":["ALL","POLITICAL_AND_ISSUE_ADS","HOUSING_ADS","EMPLOYMENT_ADS","CREDIT_ADS"],"description":"Ad category. ALL includes all ad types; other values narrow results to the selected category."},"required":false,"description":"Ad category. ALL includes all ad types; other values narrow results to the selected category.","name":"ad_type","in":"query"},{"schema":{"type":"boolean","description":"Set to true to return the unprocessed Ad Library payload instead of the normalized response.","example":false},"required":false,"description":"Set to true to return the unprocessed Ad Library payload instead of the normalized response.","name":"raw","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"meta","x-toolzer-verified":true}},"/v1/facebook/page":{"get":{"operationId":"Get Facebook Page","tags":["Facebook - Page"],"summary":"Get a page","description":"Returns the public Page's id and any timeline posts included on the page. Use `/facebook/page/posts` to paginate the full feed.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9._-]+$","example":"NASA","description":"Page vanity slug or numeric id."},"required":true,"description":"Page vanity slug or numeric id.","name":"slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/page/about":{"get":{"operationId":"Get Facebook Page About","tags":["Facebook - Page"],"summary":"Get page details","description":"Returns the Page's About field sections — category, contact info, websites and social links, plus business details (hours, price range, services, ratings) where the Page is a business.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9._-]+$","example":"NASA","description":"Page vanity slug or numeric id."},"required":true,"description":"Page vanity slug or numeric id.","name":"slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookAbout"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/page/transparency":{"get":{"operationId":"Get Facebook Page Transparency","tags":["Facebook - Page"],"summary":"Get page transparency data","description":"Returns Page Transparency fields — page id, creation date, admin country information, ad status and confirmed owner.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9._-]+$","example":"NASA","description":"Page vanity slug or numeric id."},"required":true,"description":"Page vanity slug or numeric id.","name":"slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookAbout"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/page/reviews":{"get":{"operationId":"Get Facebook Page Reviews","tags":["Facebook - Page"],"summary":"List page reviews","description":"Returns a Page's public reviews with the reviewer, recommend or don't-recommend verdict, text, time and reaction and comment counts. Pass `cursor` from `pageInfo` to page. A Page without a reviews tab returns an empty list.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9._-]+$","example":"NASA","description":"Page vanity slug or numeric id."},"required":true,"description":"Page vanity slug or numeric id.","name":"slug","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"description":"Target number of reviews, default 10. Facebook delivers reviews three at a time, so up to two more can be returned."},"required":false,"description":"Target number of reviews, default 10. Facebook delivers reviews three at a time, so up to two more can be returned.","name":"count","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9+/=_:-]+$","description":"Page node id from a previous call; skips the resolve fetch."},"required":false,"description":"Page node id from a previous call; skips the resolve fetch.","name":"nodeId","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookReviews"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/page/posts":{"get":{"operationId":"Get Facebook Page Posts","tags":["Facebook - Page"],"summary":"List page posts","description":"Returns the Page's timeline posts. Pass `cursor` to page.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9._-]+$","example":"NASA","description":"Page vanity slug or numeric id."},"required":true,"description":"Page vanity slug or numeric id.","name":"slug","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9+/=_:-]+$","description":"Page node id from a previous call; skips the resolve fetch."},"required":false,"description":"Page node id from a previous call; skips the resolve fetch.","name":"nodeId","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookPosts"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/page/collection":{"get":{"operationId":"Get Facebook Page Collection","tags":["Facebook - Page"],"summary":"List page followers or followed accounts","description":"Returns the Page's followers or following list with a total count. Pass `cursor` to page.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9._-]+$","example":"NASA","description":"Page vanity slug or numeric id."},"required":true,"description":"Page vanity slug or numeric id.","name":"slug","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"},{"schema":{"type":"string","enum":["followers","following"],"default":"followers","description":"Which collection to read."},"required":false,"description":"Which collection to read.","name":"collection","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9+/=_:-]+$","description":"Collection node id from a previous call; skips the resolve fetch."},"required":false,"description":"Collection node id from a previous call; skips the resolve fetch.","name":"collectionId","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookCollection"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/page/videos":{"get":{"operationId":"Get Facebook Page Videos","tags":["Facebook - Page"],"summary":"List page videos","description":"Returns the Page's videos. Pass `cursor` to page.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9._-]+$","example":"NASA","description":"Page vanity slug or numeric id."},"required":true,"description":"Page vanity slug or numeric id.","name":"slug","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9+/=_:-]+$","description":"Page-typed node id from a previous call; skips the resolve fetch."},"required":false,"description":"Page-typed node id from a previous call; skips the resolve fetch.","name":"pageTypedId","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookVideos"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/page/albums":{"get":{"operationId":"Get Facebook Page Albums","tags":["Facebook - Page"],"summary":"List page albums","description":"Returns the Page's photo albums. Pass `cursor` to page.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9._-]+$","example":"NASA","description":"Page vanity slug or numeric id."},"required":true,"description":"Page vanity slug or numeric id.","name":"slug","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9+/=_:-]+$","description":"Albums collection id from a previous call; skips the resolve fetch."},"required":false,"description":"Albums collection id from a previous call; skips the resolve fetch.","name":"collectionId","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookAlbums"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/post":{"get":{"operationId":"Get Facebook Post","tags":["Facebook - Post"],"summary":"Get a post","description":"Get a public post and its initial comments. This operation returns the first comment page only; use `/facebook/post/comments` to page.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9._-]+$","example":"NASA","description":"Page vanity slug or numeric id."},"required":true,"description":"Page vanity slug or numeric id.","name":"slug","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9]+$","description":"Post id from a permalink."},"required":true,"description":"Post id from a permalink.","name":"postId","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookPost"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/post/comments":{"get":{"operationId":"List Facebook Post Comments","tags":["Facebook - Post"],"summary":"List post comments","description":"Returns a public post's comments with author, text, time, reaction and reply counts. Pass `cursor` from `pageInfo` to page. Use `feedbackId` and `expansionToken` from a comment to fetch its replies.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9._-]+$","example":"NASA","description":"Page vanity slug or numeric id."},"required":true,"description":"Page vanity slug or numeric id.","name":"slug","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9]+$","description":"Post id from a permalink."},"required":true,"description":"Post id from a permalink.","name":"postId","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Target number of comments, default 10. Facebook serves 10 per page, so up to 9 more can be returned."},"required":false,"description":"Target number of comments, default 10. Facebook serves 10 per page, so up to 9 more can be returned.","name":"count","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9+/=_:-]+$","description":"Post feedback id from a previous call. With `cursor`, it skips the post fetch."},"required":false,"description":"Post feedback id from a previous call. With `cursor`, it skips the post fetch.","name":"feedbackId","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookComments"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/post/comments/replies":{"get":{"operationId":"List Facebook Comment Replies","tags":["Facebook - Post"],"summary":"List comment replies","description":"Returns the replies to one comment, using `feedbackId` and `expansionToken` from the comments response. Pass `cursor` from `pageInfo` to page.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9+/=_:-]+$","description":"The comment's `feedbackId` from the comments response."},"required":true,"description":"The comment's `feedbackId` from the comments response.","name":"feedbackId","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^[A-Za-z0-9+/=_:-]+$","description":"The comment's `expansionToken` from the comments response. Comments without replies have none."},"required":true,"description":"The comment's `expansionToken` from the comments response. Comments without replies have none.","name":"expansionToken","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Target number of replies, default 10. Facebook serves 10 per page."},"required":false,"description":"Target number of replies, default 10. Facebook serves 10 per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookReplies"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/photo":{"get":{"operationId":"Get Facebook Photo","tags":["Facebook - Post"],"summary":"Get a photo","description":"Returns a public photo permalink with its initial comments and their pagination state.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^\\d+$"},"required":true,"name":"photoId","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9._-]+$"},"required":false,"name":"setId","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookPost"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/marketplace":{"get":{"operationId":"Get Facebook Marketplace","tags":["Facebook - Marketplace"],"summary":"List Marketplace listings","description":"Returns public Marketplace listings, optionally scoped to a `category`. Results are location-dependent: Facebook serves listings near the requester's location.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9_-]+$","example":"vehicles"},"required":false,"name":"category","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookMarketplace"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/marketplace/item":{"get":{"operationId":"Get Facebook Marketplace Item","tags":["Facebook - Marketplace"],"summary":"Get a Marketplace listing","description":"Returns a single Marketplace listing plus the related listings shown alongside it.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\d+$"},"required":true,"name":"itemId","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookMarketplaceItem"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/search/videos":{"get":{"operationId":"Search Facebook Videos","tags":["Facebook - Search"],"summary":"Search videos","description":"Searches Facebook's public video catalogue by free text and returns matching videos with owner, duration and thumbnail. Paginate with `cursor` from `pageInfo`. An empty `videos` array means no public match.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"space launch","description":"Free-text search phrase."},"required":true,"description":"Free-text search phrase.","name":"query","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookVideoSearch"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/search/pages":{"get":{"operationId":"Search Facebook Pages","tags":["Facebook - Search"],"summary":"Search Pages","description":"Searches public Facebook Pages by free text and returns each Page's id, name, URL, profile picture, verified flag and description. Paginate with `cursor` from `pageInfo`. An empty `pages` array means no public match.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"nasa","description":"Free-text search phrase."},"required":true,"description":"Free-text search phrase.","name":"query","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookPageSearch"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/search/people":{"get":{"operationId":"Search Facebook People","tags":["Facebook - Search"],"summary":"Search people","description":"Searches public Facebook profiles by name and returns each profile's id, name, URL and profile picture, plus a location line when shown. Paginate with `cursor` from `pageInfo`. An empty `people` array means no public match.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"nasa","description":"Free-text search phrase."},"required":true,"description":"Free-text search phrase.","name":"query","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookPeopleSearch"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/search/places":{"get":{"operationId":"Search Facebook Places","tags":["Facebook - Search"],"summary":"Search places","description":"Searches Facebook's public local businesses and places by free text and returns each place's id, name, URL, profile picture and description. Paginate with `cursor` from `pageInfo`. An empty `places` array means no public match.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"pizza new york","description":"Free-text search phrase."},"required":true,"description":"Free-text search phrase.","name":"query","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookPlaceSearch"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/search/posts":{"get":{"operationId":"Search Facebook Posts","tags":["Facebook - Search"],"summary":"Search public posts","description":"Searches public Facebook posts by free text and returns each post's text, author, creation time, photos and reaction, comment and share counts. Paginate with `cursor` from `pageInfo`. An empty `posts` array means no public match.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"nasa","description":"Free-text search phrase."},"required":true,"description":"Free-text search phrase.","name":"query","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookPostSearch"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/search/events":{"get":{"operationId":"Search Facebook Events","tags":["Facebook - Search"],"summary":"Search events","description":"Searches public Facebook events by free text and returns each event's id, name, URL and cover image. Dates and venues are not shown without an account. Paginate with `cursor` from `pageInfo`. An empty `events` array means no public match.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"concert","description":"Free-text search phrase."},"required":true,"description":"Free-text search phrase.","name":"query","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookEventSearch"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/facebook/search/top":{"get":{"operationId":"Search Facebook Top Results","tags":["Facebook - Search"],"summary":"Search top results","description":"Searches Facebook's top results for free text and returns a mixed list of posts and profiles. Each result has a `type` field naming its shape. Paginate with `cursor` from `pageInfo`. An empty `results` array means no public match.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"nasa","description":"Free-text search phrase."},"required":true,"description":"Free-text search phrase.","name":"query","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response."},"required":false,"description":"Opaque pagination cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Records per page. Facebook caps most surfaces well below this."},"required":false,"description":"Records per page. Facebook caps most surfaces well below this.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FacebookTopSearch"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"facebook","x-toolzer-verified":true}},"/v1/instagram/user/info":{"get":{"operationId":"Get User Info","tags":["Instagram - User"],"summary":"Get Instagram user profile","description":"Returns profile data for a public Instagram account from `username_or_url`: identity, bio, links, and counts. `detail=full` returns the same fields marked `is_partial: true`; Instagram no longer serves post previews or business fields logged out.","parameters":[{"schema":{"type":"string","minLength":3,"example":"natgeo","description":"Instagram username (without @) or full profile URL, for example `natgeo` or `https://www.instagram.com/natgeo/`."},"required":true,"description":"Instagram username (without @) or full profile URL, for example `natgeo` or `https://www.instagram.com/natgeo/`.","name":"username_or_url","in":"query"},{"schema":{"type":"string","enum":["summary","full"],"default":"summary","description":"Profile detail level. `summary` returns identity, biography, links, and account counts. `full` also requests post previews, media count, business category, and contact fields; check `is_partial`."},"required":false,"description":"Profile detail level. `summary` returns identity, biography, links, and account counts. `full` also requests post previews, media count, business category, and contact fields; check `is_partial`.","name":"detail","in":"query"},{"schema":{"type":"boolean","default":true,"description":"Whether to return the normalized profile shape. Set to `false` to retain the broader source response."},"required":false,"description":"Whether to return the normalized profile shape. Set to `false` to retain the broader source response.","name":"clean","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Instagram user numeric ID."},"username":{"type":"string","description":"Instagram username."},"full_name":{"type":"string","description":"Display name."},"is_private":{"type":"boolean","description":"Whether the account is private."},"is_verified":{"type":"boolean","description":"Whether the account is verified (blue badge)."},"profile_pic_url":{"type":"string","description":"Profile picture URL."},"biography":{"type":"string","description":"User bio text."},"edge_followed_by":{"type":"object","properties":{"count":{"type":"number"}},"required":["count"],"additionalProperties":{"nullable":true},"description":"Follower count."},"edge_follow":{"type":"object","properties":{"count":{"type":"number"}},"required":["count"],"additionalProperties":{"nullable":true},"description":"Following count."},"fbid":{"type":"string","description":"Facebook ID."},"is_partial":{"type":"boolean","description":"True when only summary profile fields are available. In a partial response, `bio_links`, `external_url`, `media_count`, and business category are unknown rather than empty."},"partial_reason":{"type":"string","description":"Reason only partial profile data is available. Omitted on a complete profile."}},"required":["id","username"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/user/id":{"get":{"operationId":"Get User ID","tags":["Instagram - User"],"summary":"Get Instagram user ID by username","description":"Returns the numeric user ID and basic identity fields for a public Instagram account, from required `username_or_url`. Use the ID with the endpoints that take `user_id`.","parameters":[{"schema":{"type":"string","minLength":3,"example":"natgeo","description":"Instagram username (without @) or full profile URL, for example `natgeo` or `https://www.instagram.com/natgeo/`."},"required":true,"description":"Instagram username (without @) or full profile URL, for example `natgeo` or `https://www.instagram.com/natgeo/`.","name":"username_or_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Instagram numeric user ID."},"username":{"type":"string","description":"Instagram username."},"full_name":{"type":"string","description":"Display name."},"is_private":{"type":"boolean","description":"Whether the account is private."},"is_verified":{"type":"boolean","description":"Whether the account is verified (blue badge)."},"profile_pic_url":{"type":"string","description":"Profile picture URL."}},"required":["id","username"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/user/summary":{"get":{"operationId":"Get User Summary","tags":["Instagram - User"],"summary":"Get Instagram profile summary by ID","description":"Returns identity, biography, links, and follower and following counts for a public Instagram account. Requires the numeric `user_id`, which `Get User ID` returns.","parameters":[{"schema":{"type":"string","minLength":1,"example":"787132","description":"Numeric Instagram user ID, from the `id` field of `Get User ID` or `Get User Info`."},"required":true,"description":"Numeric Instagram user ID, from the `id` field of `Get User ID` or `Get User Info`.","name":"user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Instagram numeric user ID."},"username":{"type":"string","description":"Instagram username."},"full_name":{"type":"string","description":"Display name."},"biography":{"type":"string","description":"User bio text."},"external_url":{"type":"string","description":"Website link on the profile."},"profile_pic_url":{"type":"string","description":"Profile picture URL."},"is_private":{"type":"boolean","description":"Whether the account is private."},"is_verified":{"type":"boolean","description":"Whether the account is verified (blue badge)."},"edge_followed_by":{"type":"object","properties":{"count":{"type":"number"}},"required":["count"],"additionalProperties":{"nullable":true},"description":"Follower count."},"edge_follow":{"type":"object","properties":{"count":{"type":"number"}},"required":["count"],"additionalProperties":{"nullable":true},"description":"Following count."},"fbid":{"type":"string","description":"Facebook ID."}},"required":["id","username"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/post":{"get":{"operationId":"Get Post","tags":["Instagram - Post"],"summary":"Get Instagram post","description":"Returns public media details and the first page of comments for one Instagram post. Provide the shortcode as `code` or the numeric `media_id`; one of the two is required.","parameters":[{"schema":{"type":"string","minLength":1,"example":"DZpQwxqimz2","description":"Post shortcode: the path segment after `/p/` or `/reel/` in the post URL. Required unless `media_id` is set."},"required":false,"description":"Post shortcode: the path segment after `/p/` or `/reel/` in the post URL. Required unless `media_id` is set.","name":"code","in":"query"},{"schema":{"type":"string","minLength":1,"example":"3920738671208852726","description":"Numeric media ID. Required unless `code` is set."},"required":false,"description":"Numeric media ID. Required unless `code` is set.","name":"media_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/post/by-id":{"get":{"operationId":"Get Post By ID","tags":["Instagram - Post"],"summary":"Get Instagram post by media ID","description":"Returns public media details and the first page of comments for one Instagram post. Requires the numeric `media_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"3920738671208852726","description":"Instagram numeric media ID."},"required":true,"description":"Instagram numeric media ID.","name":"media_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/user/posts":{"get":{"operationId":"Get User Posts","tags":["Instagram - User"],"summary":"List Instagram user posts","description":"Lists media from a public Instagram account. Provide `username_or_url` or `user_id`. `count` sets the page size; pass the previous response's `next_max_id` as `cursor` to get the next page.","parameters":[{"schema":{"type":"string","minLength":3,"example":"natgeo","description":"Instagram username (without @) or full profile URL, for example `natgeo` or `https://www.instagram.com/natgeo/`."},"required":false,"description":"Instagram username (without @) or full profile URL, for example `natgeo` or `https://www.instagram.com/natgeo/`.","name":"username_or_url","in":"query"},{"schema":{"type":"string","minLength":1,"example":"787132","description":"Numeric Instagram user ID. Use instead of `username_or_url` to skip the username lookup."},"required":false,"description":"Numeric Instagram user ID. Use instead of `username_or_url` to skip the username lookup.","name":"user_id","in":"query"},{"schema":{"type":"string","example":"3932357843969243147_787132","description":"Pass the previous response's `next_max_id` value to get the next page. Omit for the first page."},"required":false,"description":"Pass the previous response's `next_max_id` value to get the next page. Omit for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":12,"example":12},"required":false,"name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{"pk":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Instagram media numeric primary key."}},"required":["pk"],"additionalProperties":{"nullable":true}},"description":"List of media items (photos, videos, reels)."},"more_available":{"type":"boolean","description":"Whether more posts are available for pagination."},"next_max_id":{"type":"string","nullable":true,"description":"Pagination cursor. Pass as next_max_id to fetch next page."}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/user/posts/by-id":{"get":{"operationId":"Get User Posts By ID","tags":["Instagram - User"],"summary":"List Instagram user posts by ID","description":"Lists media from a public Instagram account by numeric `user_id`. `count` sets the page size; pass the previous response's `next_max_id` as `next_max_id` to get the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"787132","description":"Numeric Instagram user ID, from the `id` field of `Get User ID` or `Get User Info`."},"required":true,"description":"Numeric Instagram user ID, from the `id` field of `Get User ID` or `Get User Info`.","name":"user_id","in":"query"},{"schema":{"type":"string","example":"3932357843969243147_787132","description":"Pass the previous response's `next_max_id` value to get the next page. Omit for the first page."},"required":false,"description":"Pass the previous response's `next_max_id` value to get the next page. Omit for the first page.","name":"next_max_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"default":12,"example":12},"required":false,"name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{"pk":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Instagram media numeric primary key."}},"required":["pk"],"additionalProperties":{"nullable":true}},"description":"List of media items (photos, videos, reels)."},"more_available":{"type":"boolean","description":"Whether more posts are available for pagination."},"next_max_id":{"type":"string","nullable":true,"description":"Pagination cursor. Pass as next_max_id to fetch next page."}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/user/reels":{"get":{"operationId":"Get User Reels","tags":["Instagram - User"],"summary":"List Instagram user reels","description":"Lists reels from a public Instagram account by `username_or_url` or `user_id`, 12 per page. Each reel includes `play_count`, the plays shown on the Reels tab. `detail=summary` returns lighter entries. Pass `paging_info.max_id` as `cursor` for the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"787132","description":"Numeric Instagram user ID, from the `id` field of `Get User ID` or `Get User Info`. Required unless `username_or_url` is set."},"required":false,"description":"Numeric Instagram user ID, from the `id` field of `Get User ID` or `Get User Info`. Required unless `username_or_url` is set.","name":"user_id","in":"query"},{"schema":{"type":"string","minLength":1,"example":"natgeo","description":"Instagram username (without @) or profile URL. Required unless `user_id` is set; with only `user_id`, the username is looked up first."},"required":false,"description":"Instagram username (without @) or profile URL. Required unless `user_id` is set; with only `user_id`, the username is looked up first.","name":"username_or_url","in":"query"},{"schema":{"type":"string","enum":["summary","full"],"default":"full","description":"`full` (default) returns each reel as a full media object, using an extra upstream request. `summary` returns the thinner Reels-tab entries in one request. Both include `play_count`."},"required":false,"description":"`full` (default) returns each reel as a full media object, using an extra upstream request. `summary` returns the thinner Reels-tab entries in one request. Both include `play_count`.","name":"detail","in":"query"},{"schema":{"type":"string","example":"QVFB...","description":"Pass the previous response's `paging_info.max_id` value to get the next page. Omit for the first page."},"required":false,"description":"Pass the previous response's `paging_info.max_id` value to get the next page. Omit for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":12,"example":12,"description":"Reels per page, 1-50. Instagram serves 12 per page, so values above 12 still return 12."},"required":false,"description":"Reels per page, 1-50. Instagram serves 12 per page, so values above 12 still return 12.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{"media":{"type":"object","properties":{"pk":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Instagram media numeric primary key."},"play_count":{"type":"number","description":"Plays of the reel as shown on the profile's Reels tab. Not the same metric as the embed `video_view_count` on `Get Post Views`."}},"required":["pk"],"additionalProperties":{"nullable":true}}},"required":["media"],"additionalProperties":{"nullable":true}},"description":"List of reel items."},"paging_info":{"type":"object","properties":{"max_id":{"type":"string","nullable":true,"description":"Pagination cursor for next page."},"more_available":{"type":"boolean","description":"Whether more reels are available."}},"additionalProperties":{"nullable":true}},"is_partial":{"type":"boolean","description":"Present and true when `detail=full` could not fetch full media for every reel; those items keep the Reels-tab fields."},"partial_reason":{"type":"string","enum":["enrichment_unavailable","enrichment_incomplete"],"description":"Why `is_partial` is set."}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/user/highlights":{"get":{"operationId":"Get Highlights","tags":["Instagram - User"],"summary":"List Instagram stories and highlights","description":"Returns story availability, live status, and highlight metadata for a public Instagram account. Requires `user_id`; the `include_*` flags turn extra response sections on or off.","parameters":[{"schema":{"type":"string","minLength":1,"example":"787132","description":"Numeric Instagram user ID, from the `id` field of `Get User ID` or `Get User Info`."},"required":true,"description":"Numeric Instagram user ID, from the `id` field of `Get User ID` or `Get User Info`.","name":"user_id","in":"query"},{"schema":{"type":"string","minLength":3,"example":"natgeo","description":"Instagram username (without @) or full profile URL, for example `natgeo` or `https://www.instagram.com/natgeo/`."},"required":false,"description":"Instagram username (without @) or full profile URL, for example `natgeo` or `https://www.instagram.com/natgeo/`.","name":"username_or_url","in":"query"},{"schema":{"type":"boolean","default":false,"description":"Include related-account chaining data in the response."},"required":false,"description":"Include related-account chaining data in the response.","name":"include_chaining","in":"query"},{"schema":{"type":"boolean","default":true,"description":"Include the account's current story reel."},"required":false,"description":"Include the account's current story reel.","name":"include_reel","in":"query"},{"schema":{"type":"boolean","default":false,"description":"Include suggested accounts."},"required":false,"description":"Include suggested accounts.","name":"include_suggested_users","in":"query"},{"schema":{"type":"boolean","default":true,"description":"Include extra fields exposed to logged-out viewers."},"required":false,"description":"Include extra fields exposed to logged-out viewers.","name":"include_logged_out_extras","in":"query"},{"schema":{"type":"boolean","default":false,"description":"Include whether the account is live now."},"required":false,"description":"Include whether the account is live now.","name":"include_live_status","in":"query"},{"schema":{"type":"boolean","default":true,"description":"Include the account's highlight reels."},"required":false,"description":"Include the account's highlight reels.","name":"include_highlight_reels","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"user":{"type":"object","properties":{"has_public_story":{"type":"boolean","description":"Whether user has an active story."},"is_live":{"type":"boolean","description":"Whether user is currently live."},"reel":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Highlight reel ID."}},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/post/oembed":{"get":{"operationId":"Get O Embed","tags":["Instagram - Post"],"summary":"Get Instagram oEmbed data","description":"Returns oEmbed data, including embed HTML and a thumbnail, for a public Instagram post or reel `url`. Optional `maxwidth` and `maxheight` (pixels) constrain the embed size.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.instagram.com/p/DZpQwxqimz2/","description":"Public Instagram post or reel URL, for example `https://www.instagram.com/p/DZpQwxqimz2/`."},"required":true,"description":"Public Instagram post or reel URL, for example `https://www.instagram.com/p/DZpQwxqimz2/`.","name":"url","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":4096,"description":"Maximum embed width in pixels."},"required":false,"description":"Maximum embed width in pixels.","name":"maxwidth","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":4096,"description":"Maximum embed height in pixels."},"required":false,"description":"Maximum embed height in pixels.","name":"maxheight","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"html":{"type":"string","description":"HTML embed code for the post."},"width":{"type":"number","description":"Suggested embed width in pixels."},"height":{"type":"number","description":"Suggested embed height in pixels."},"thumbnail_url":{"type":"string","description":"URL of the thumbnail image."},"thumbnail_width":{"type":"number","description":"Thumbnail width in pixels."},"thumbnail_height":{"type":"number","description":"Thumbnail height in pixels."},"author_name":{"type":"string","description":"Post author username."},"author_url":{"type":"string","description":"Post author profile URL."}},"required":["html"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/post/comments":{"get":{"operationId":"Get Post Comments","tags":["Instagram - Post"],"summary":"List Instagram post comments","description":"Lists comments on a public Instagram post, identified by its shortcode in `code`. `count` sets the page size; pass `page_info.end_cursor` from the previous response as `cursor` to get the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"DZpQwxqimz2","description":"Post shortcode: the path segment after `/p/` or `/reel/` in the post URL."},"required":true,"description":"Post shortcode: the path segment after `/p/` or `/reel/` in the post URL.","name":"code","in":"query"},{"schema":{"type":"string","example":"{\"is_server_cursor_inverse\":true,\"server_cursor\":\"AQHS...\"}","description":"Pass `comments_connection.page_info.end_cursor` from the post response or `page_info.end_cursor` from a previous comments response."},"required":false,"description":"Pass `comments_connection.page_info.end_cursor` from the post response or `page_info.end_cursor` from a previous comments response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":50,"example":50},"required":false,"name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{"pk":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Instagram media numeric primary key."}},"required":["pk"],"additionalProperties":{"nullable":true}},"description":"List of comment objects."},"page_info":{"type":"object","properties":{"end_cursor":{"type":"string","nullable":true,"description":"Pagination cursor. Pass as `cursor` to fetch the next page."},"has_next_page":{"type":"boolean","description":"Whether more results are available."}},"additionalProperties":{"nullable":true}}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/post/views":{"get":{"operationId":"Get Post Views","tags":["Instagram - Post"],"summary":"Get Instagram post view counts","description":"Returns view counts for a public Instagram reel from its shortcode or URL. `video_view_count` is the embed view count. `play_count` is the plays shown on the owner's Reels tab, found only among their 36 newest reels. They are different metrics.","parameters":[{"schema":{"type":"string","minLength":1,"example":"DZpQwxqimz2","description":"Post or reel shortcode (the path segment after `/p/` or `/reel/`), or the full post URL."},"required":true,"description":"Post or reel shortcode (the path segment after `/p/` or `/reel/`), or the full post URL.","name":"code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"code":{"type":"string","nullable":true,"description":"Post shortcode."},"media_id":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"Instagram numeric media ID."},"product_type":{"type":"string","nullable":true,"description":"Media product type, for example `clips` for a reel."},"is_video":{"type":"boolean","description":"Whether the post is a video or reel."},"video_view_count":{"type":"number","nullable":true,"description":"Instagram's embed view count. Null for non-video posts. A different, usually lower metric than `play_count`."},"play_count":{"type":"number","nullable":true,"description":"The reel's plays as shown on the owner's Reels tab. Only found among the owner's 36 newest reels; null otherwise."},"play_count_source":{"type":"string","nullable":true,"enum":["reels_tab",null],"description":"Where `play_count` came from, or null when it is null."},"like_count":{"type":"number","nullable":true,"description":"Like count."},"comment_count":{"type":"number","nullable":true,"description":"Comment count."},"video_duration":{"type":"number","nullable":true,"description":"Video duration in seconds."},"owner":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}],"description":"Owner's numeric user ID."},"username":{"type":"string","nullable":true,"description":"Owner's username."},"is_verified":{"type":"boolean","nullable":true,"description":"Whether the owner is verified."},"follower_count":{"type":"number","nullable":true,"description":"Owner's follower count."}},"required":["id","username","is_verified","follower_count"],"additionalProperties":{"nullable":true}}},"required":["code","media_id","product_type","is_video","video_view_count","play_count","play_count_source","like_count","comment_count","video_duration","owner"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/location/info":{"get":{"operationId":"Get Location Info","tags":["Instagram - Location"],"summary":"Get Instagram location details","description":"Returns public details for an Instagram location from required `location_id`: name, coordinates, category, and media count. Optional `slug` and `show_nearby` refine the response.","parameters":[{"schema":{"type":"string","minLength":1,"example":"213385402","description":"Numeric Instagram location ID, found in location page URLs such as `instagram.com/explore/locations/213385402/`."},"required":true,"description":"Numeric Instagram location ID, found in location page URLs such as `instagram.com/explore/locations/213385402/`.","name":"location_id","in":"query"},{"schema":{"type":"string","example":"london-united-kingdom","description":"Optional location slug from the location page URL, for example `london-united-kingdom`."},"required":false,"description":"Optional location slug from the location page URL, for example `london-united-kingdom`.","name":"slug","in":"query"},{"schema":{"type":"boolean","default":false,"description":"Whether to include nearby locations in the response."},"required":false,"description":"Whether to include nearby locations in the response.","name":"show_nearby","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"location_id":{"type":"string","description":"Instagram location numeric ID."},"name":{"type":"string","description":"Location name."},"lat":{"type":"number","description":"Latitude coordinate."},"lng":{"type":"number","description":"Longitude coordinate."},"media_count":{"type":"number","description":"Total media count for this location."},"category":{"type":"string","description":"Location category (e.g. City, Restaurant)."}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/location/media":{"get":{"operationId":"Get Location Media","tags":["Instagram - Location"],"summary":"List Instagram location media (retired)","description":"Retired: always returns 410 and is not charged. Use `/v1/instagram/location/posts` instead.","deprecated":true,"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"410":{"description":"Gone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error410"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/instagram/search/top":{"get":{"operationId":"Get Popular Search","tags":["Instagram - Search"],"summary":"Search Instagram top media by keyword","description":"Searches public Instagram media for required `keyword` and returns top posts plus related keywords. `media_count` and `related_keywords_count` set result sizes; `cursor` pages.","parameters":[{"schema":{"type":"string","minLength":1,"example":"travel","description":"Keyword or hashtag text to search public media for."},"required":true,"description":"Keyword or hashtag text to search public media for.","name":"keyword","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":12,"example":12},"required":false,"name":"media_count","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":50,"default":10,"example":10,"description":"Number of related keyword suggestions to return, 0-50."},"required":false,"description":"Number of related keyword suggestions to return, 0-50.","name":"related_keywords_count","in":"query"},{"schema":{"type":"boolean","default":true,"description":"Whether to include a short topic description for the keyword."},"required":false,"description":"Whether to include a short topic description for the keyword.","name":"include_description","in":"query"},{"schema":{"type":"string","example":"QVFB...","description":"Pass the previous response's `page_info.end_cursor` value."},"required":false,"description":"Pass the previous response's `page_info.end_cursor` value.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"description":"List of media items for the search term."},"related_keywords":{"type":"array","items":{"type":"string"},"description":"Related keyword suggestions for this search term."},"description":{"type":"string","description":"AI-generated topic description for the keyword."},"page_info":{"type":"object","properties":{"end_cursor":{"type":"string","nullable":true,"description":"Pagination cursor. Pass as `cursor` to fetch the next page."},"has_next_page":{"type":"boolean","description":"Whether more results are available."}},"additionalProperties":{"nullable":true}}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":true}},"/v1/instagram/profile":{"get":{"operationId":"Get Instagram Profile","tags":["Instagram - User"],"summary":"Get profile","description":"Get an account's public profile: name, bio, links, follower, following and post counts, and verification and privacy flags. Returns the numeric `pk` that other routes take as `user_id`. An unknown username returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"natgeo","description":"Account username with or without `@`, or an instagram.com profile URL."},"required":true,"description":"Account username with or without `@`, or an instagram.com profile URL.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstagramProfile"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/instagram/profile/about":{"get":{"operationId":"Get Instagram Profile About","tags":["Instagram - User"],"summary":"Get account country and join date","description":"Get an account's About panel by numeric `user_id`: verification, country, the month it joined, and former usernames. An unknown ID returns `data: null`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"787132","description":"Numeric account ID, from the `pk` field of `/v1/instagram/profile`."},"required":true,"description":"Numeric account ID, from the `pk` field of `/v1/instagram/profile`.","name":"user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstagramProfileAbout"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/instagram/profile/stories":{"get":{"operationId":"List Instagram Profile Stories","tags":["Instagram - User"],"summary":"List profile stories","description":"List the stories live on an account, by `username` or `user_id`. Stories expire after 24 hours, so an account with none live returns an empty `items` list.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"natgeo","description":"Account username with or without `@`, or an instagram.com profile URL."},"required":false,"description":"Account username with or without `@`, or an instagram.com profile URL.","name":"username","in":"query"},{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"787132","description":"Numeric account ID, from the `pk` field of `/v1/instagram/profile`. Send exactly one of `username` or `user_id`."},"required":false,"description":"Numeric account ID, from the `pk` field of `/v1/instagram/profile`. Send exactly one of `username` or `user_id`.","name":"user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstagramProfileStories"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/instagram/profile/highlights":{"get":{"operationId":"List Instagram Profile Highlights","tags":["Instagram - User"],"summary":"List profile highlights","description":"List an account's story highlights, by `username` or `user_id`. Paginate with `cursor` and `next_cursor`. An account without highlights returns an empty `items` list.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"natgeo","description":"Account username with or without `@`, or an instagram.com profile URL."},"required":false,"description":"Account username with or without `@`, or an instagram.com profile URL.","name":"username","in":"query"},{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"25025320","description":"Numeric account ID, from the `pk` field of `/v1/instagram/profile`. Send exactly one of `username` or `user_id`."},"required":false,"description":"Numeric account ID, from the `pk` field of `/v1/instagram/profile`. Send exactly one of `username` or `user_id`.","name":"user_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`next_cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`next_cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstagramProfileHighlights"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/instagram/highlight/stories":{"get":{"operationId":"List Instagram Highlight Stories","tags":["Instagram - User"],"summary":"List highlight stories","description":"List the stories saved in one highlight, with the highlight's title, cover and owner. An unknown or removed highlight returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":60,"example":"highlight:18223279177302854","description":"Highlight ID from the `id` field of `/v1/instagram/profile/highlights`, with or without the `highlight:` prefix."},"required":true,"description":"Highlight ID from the `id` field of `/v1/instagram/profile/highlights`, with or without the `highlight:` prefix.","name":"highlight_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstagramHighlightStories"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/instagram/media":{"get":{"operationId":"Get Instagram Media","tags":["Instagram - Post"],"summary":"Get post or reel","description":"Get a post or reel by `url` or `code`: caption, media files, like, comment and play counts, owner, tagged users and location. A removed or unavailable post returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"https://www.instagram.com/p/DZpQwxqimz2/","description":"Post or reel URL (`/p/`, `/reel/`, `/reels/` or `/tv/`). Send exactly one of `url` or `code`."},"required":false,"description":"Post or reel URL (`/p/`, `/reel/`, `/reels/` or `/tv/`). Send exactly one of `url` or `code`.","name":"url","in":"query"},{"schema":{"type":"string","maxLength":50,"example":"DZpQwxqimz2","description":"Shortcode from the post URL, `DZpQwxqimz2` in `instagram.com/p/DZpQwxqimz2/`. Send exactly one of `url` or `code`."},"required":false,"description":"Shortcode from the post URL, `DZpQwxqimz2` in `instagram.com/p/DZpQwxqimz2/`. Send exactly one of `url` or `code`.","name":"code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstagramMedia"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/instagram/comments":{"get":{"operationId":"List Instagram Comments","tags":["Instagram - Post"],"summary":"List post comments","description":"List the comments on a post or reel by `url`, `code` or `media_id`, with the commenter and like count. Paginate with `cursor` and `next_cursor`. A post without comments returns an empty `items` list.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"https://www.instagram.com/p/DZpQwxqimz2/","description":"Post or reel URL (`/p/`, `/reel/`, `/reels/` or `/tv/`). Send exactly one of `url` or `code`."},"required":false,"description":"Post or reel URL (`/p/`, `/reel/`, `/reels/` or `/tv/`). Send exactly one of `url` or `code`.","name":"url","in":"query"},{"schema":{"type":"string","maxLength":50,"example":"DZpQwxqimz2","description":"Shortcode from the post URL, `DZpQwxqimz2` in `instagram.com/p/DZpQwxqimz2/`. Send exactly one of `url` or `code`."},"required":false,"description":"Shortcode from the post URL, `DZpQwxqimz2` in `instagram.com/p/DZpQwxqimz2/`. Send exactly one of `url` or `code`.","name":"code","in":"query"},{"schema":{"type":"string","maxLength":60,"example":"3920738671208852726","description":"Numeric media ID, from the `pk` field of `/v1/instagram/media`. Send exactly one of `url`, `code` or `media_id`."},"required":false,"description":"Numeric media ID, from the `pk` field of `/v1/instagram/media`. Send exactly one of `url`, `code` or `media_id`.","name":"media_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`next_cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`next_cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstagramCommentsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/instagram/comments/replies":{"get":{"operationId":"List Instagram Comment Replies","tags":["Instagram - Post"],"summary":"List comment replies","description":"List the replies to one comment. Send the post as `url`, `code` or `media_id` and the comment's `pk` as `comment_id`. Paginate with `cursor` and `next_cursor`. A comment without replies returns an empty `items` list.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"https://www.instagram.com/p/DZpQwxqimz2/","description":"Post or reel URL (`/p/`, `/reel/`, `/reels/` or `/tv/`). Send exactly one of `url` or `code`."},"required":false,"description":"Post or reel URL (`/p/`, `/reel/`, `/reels/` or `/tv/`). Send exactly one of `url` or `code`.","name":"url","in":"query"},{"schema":{"type":"string","maxLength":50,"example":"DZpQwxqimz2","description":"Shortcode from the post URL, `DZpQwxqimz2` in `instagram.com/p/DZpQwxqimz2/`. Send exactly one of `url` or `code`."},"required":false,"description":"Shortcode from the post URL, `DZpQwxqimz2` in `instagram.com/p/DZpQwxqimz2/`. Send exactly one of `url` or `code`.","name":"code","in":"query"},{"schema":{"type":"string","maxLength":60,"example":"3920738671208852726","description":"Numeric media ID, from the `pk` field of `/v1/instagram/media`. Send exactly one of `url`, `code` or `media_id`."},"required":false,"description":"Numeric media ID, from the `pk` field of `/v1/instagram/media`. Send exactly one of `url`, `code` or `media_id`.","name":"media_id","in":"query"},{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"18093410033591129","description":"Comment ID, from the `pk` field of a comment in `/v1/instagram/comments`."},"required":true,"description":"Comment ID, from the `pk` field of a comment in `/v1/instagram/comments`.","name":"comment_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`next_cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`next_cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstagramCommentsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/instagram/place/recent":{"get":{"operationId":"List Instagram Place Recent Posts","tags":["Instagram - Location"],"summary":"List recent posts at a place","description":"List the most recent posts tagged at a place, by `location_id`. Paginate with `cursor` and `next_cursor`. A place with no recent posts returns an empty `items` list.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"213385402","description":"Numeric place ID, from the `location.pk` field of `/v1/instagram/place/search` results or of a post."},"required":true,"description":"Numeric place ID, from the `location.pk` field of `/v1/instagram/place/search` results or of a post.","name":"location_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`next_cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`next_cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstagramPlaceRecent"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/instagram/place/search":{"get":{"operationId":"Search Instagram Places","tags":["Instagram - Search"],"summary":"Search places","description":"Search Instagram places by name. Each result has a title, a subtitle, and the place's `location` with the ID that `/v1/instagram/place/recent` takes. No match returns an empty `items` list.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"london","description":"Place name or keywords to search for."},"required":true,"description":"Place name or keywords to search for.","name":"query","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstagramPlaceSearch"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v1/linkedin/jobs/search":{"get":{"operationId":"LinkedIn Jobs Search","tags":["LinkedIn"],"summary":"Search jobs","description":"Search public job postings by keyword, location, date, experience, job type, and workplace. Use `start` to request later results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"software engineer"},"required":true,"name":"keywords","in":"query"},{"schema":{"type":"string","example":"United States"},"required":false,"name":"location","in":"query"},{"schema":{"type":"string","example":"103644278","description":"Numeric geoId from /geo/typeahead."},"required":false,"description":"Numeric geoId from /geo/typeahead.","name":"geo_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":1000,"default":0,"example":0},"required":false,"name":"start","in":"query"},{"schema":{"type":"string","enum":["past_24_hours","past_week","past_month"],"example":"past_week","description":"Date posted filter. Use past_24_hours, past_week, or past_month."},"required":false,"description":"Date posted filter. Use past_24_hours, past_week, or past_month.","name":"date_posted","in":"query"},{"schema":{"type":"string","example":"entry_level,associate","description":"Experience level filter. Comma-separated values: internship, entry_level, associate, mid_senior, director, executive."},"required":false,"description":"Experience level filter. Comma-separated values: internship, entry_level, associate, mid_senior, director, executive.","name":"experience_levels","in":"query"},{"schema":{"type":"string","example":"full_time","description":"Job type filter. Comma-separated values: full_time, part_time, contract, temporary, internship, volunteer, other."},"required":false,"description":"Job type filter. Comma-separated values: full_time, part_time, contract, temporary, internship, volunteer, other.","name":"job_types","in":"query"},{"schema":{"type":"string","enum":["on_site","remote","hybrid"],"example":"remote","description":"Workplace filter. Use on_site, remote, or hybrid."},"required":false,"description":"Workplace filter. Use on_site, remote, or hybrid.","name":"workplace","in":"query"},{"schema":{"type":"string","enum":["most_recent","most_relevant"],"example":"most_recent","description":"Sort order. Use most_recent or most_relevant."},"required":false,"description":"Sort order. Use most_recent or most_relevant.","name":"sortBy","in":"query"},{"schema":{"type":"string","example":"2135371","description":"Numeric organization id (LinkedIn's f_C) to filter jobs by company. See /company's org_id field."},"required":false,"description":"Numeric organization id (LinkedIn's f_C) to filter jobs by company. See /company's org_id field.","name":"company_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/jobs/detail":{"get":{"operationId":"LinkedIn Job Detail","tags":["LinkedIn"],"summary":"Get job details","description":"Get a public job posting's description, criteria, and available poster information.","parameters":[{"schema":{"type":"string","minLength":1,"example":"4437461678","description":"Numeric job id or a /jobs/view/... URL."},"required":true,"description":"Numeric job id or a /jobs/view/... URL.","name":"job_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/geo/typeahead":{"get":{"operationId":"LinkedIn Geo Typeahead","tags":["LinkedIn"],"summary":"Search job locations","description":"Returns matching locations and numeric geo IDs for required `query`. Use optional `geo_types` to restrict result types.","parameters":[{"schema":{"type":"string","minLength":1,"example":"San Francisco"},"required":true,"name":"query","in":"query"},{"schema":{"type":"string","example":"POPULATED_PLACE,ADMIN_DIVISION_2","description":"Restrict geo granularity, comma list."},"required":false,"description":"Restrict geo granularity, comma list.","name":"geo_types","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/typeahead":{"get":{"operationId":"LinkedIn Typeahead","tags":["LinkedIn"],"summary":"Search names and skills","description":"Search partial names for matching locations, companies, or skills. Company results use the same numeric ID as `org_id` in company details.","parameters":[{"schema":{"type":"string","minLength":1,"example":"Stripe","description":"Partial name to resolve."},"required":true,"description":"Partial name to resolve.","name":"query","in":"query"},{"schema":{"type":"string","enum":["GEO","COMPANY","SKILL"],"example":"COMPANY","description":"What to resolve. GEO, COMPANY, and SKILL are the only real values -- LinkedIn silently serves SKILL results for anything else. COMPANY returns the same numeric id as /company's org_id (job search's f_C)."},"required":true,"description":"What to resolve. GEO, COMPANY, and SKILL are the only real values -- LinkedIn silently serves SKILL results for anything else. COMPANY returns the same numeric id as /company's org_id (job search's f_C).","name":"type","in":"query"},{"schema":{"type":"string","example":"POPULATED_PLACE,ADMIN_DIVISION_2","description":"GEO only: restrict geo granularity, comma list."},"required":false,"description":"GEO only: restrict geo granularity, comma list.","name":"geo_types","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/profile":{"get":{"operationId":"LinkedIn Profile","tags":["LinkedIn"],"summary":"Get a profile","description":"Returns public identity, experience, education, and related-profile information. Requires profile `username`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"williamhgates","description":"LinkedIn vanity handle (e.g. williamhgates) or full /in/ URL."},"required":true,"description":"LinkedIn vanity handle (e.g. williamhgates) or full /in/ URL.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/profile/related":{"get":{"operationId":"LinkedIn Profile Related","tags":["LinkedIn"],"summary":"List related profiles","description":"Returns a profile's \"People also viewed\" related-profile slice. Requires profile `username`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"satyanadella","description":"LinkedIn vanity handle (e.g. satyanadella) or full /in/ URL."},"required":true,"description":"LinkedIn vanity handle (e.g. satyanadella) or full /in/ URL.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/company":{"get":{"operationId":"LinkedIn Company","tags":["LinkedIn"],"summary":"Get company details","description":"Get a company's public description, size, headquarters, specialties, similar pages, and `org_id` for filtering job searches.","parameters":[{"schema":{"type":"string","minLength":1,"example":"microsoft","description":"LinkedIn company handle (e.g. microsoft) or full /company/ URL."},"required":true,"description":"LinkedIn company handle (e.g. microsoft) or full /company/ URL.","name":"company_handle","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/company/directory":{"get":{"operationId":"LinkedIn Company Directory","tags":["LinkedIn"],"summary":"List companies","description":"List companies in LinkedIn's public company directory.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/company/employees":{"get":{"operationId":"LinkedIn Company Employees","tags":["LinkedIn"],"summary":"Find company employees","description":"Find a sample of public profiles for people who work at a company. The response is a discovered sample rather than a complete staff list.","parameters":[{"schema":{"type":"string","minLength":1,"example":"Stripe","description":"Company name to search for."},"required":true,"description":"Company name to search for.","name":"company","in":"query"},{"schema":{"type":"string","example":"engineer,sales,recruiter","description":"Comma-separated role keywords to fan queries out over. Defaults to a broad built-in list."},"required":false,"description":"Comma-separated role keywords to fan queries out over. Defaults to a broad built-in list.","name":"roles","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"example":6,"description":"Cap on role/query variants to run. Defaults to 6. Each variant beyond the first costs about 5 seconds, so raising this toward 20 risks the request timing out; split a deeper sweep across several calls instead."},"required":false,"description":"Cap on role/query variants to run. Defaults to 6. Each variant beyond the first costs about 5 seconds, so raising this toward 20 risks the request timing out; split a deeper sweep across several calls instead.","name":"max_queries","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":3,"example":1,"description":"Result pages per query, per engine. Defaults to 1; each extra page multiplies the whole sweep."},"required":false,"description":"Result pages per query, per engine. Defaults to 1; each extra page multiplies the whole sweep.","name":"pages","in":"query"},{"schema":{"type":"string","example":"yahoo,brave,ddg","description":"Comma-separated search engines to fan out over: yahoo, brave, ddg. Defaults to all three -- their indexes are near-disjoint, so running just one leaves most of the roster undiscovered."},"required":false,"description":"Comma-separated search engines to fan out over: yahoo, brave, ddg. Defaults to all three -- their indexes are near-disjoint, so running just one leaves most of the roster undiscovered.","name":"engines","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/company/decision-makers":{"get":{"operationId":"LinkedIn Company Decision Makers","tags":["LinkedIn"],"summary":"Find decision-makers and emails","description":"Find senior employees at a company and return ranked candidate email addresses. `rejected` counts excluded profiles, and `resolved` identifies the company and email domain used.","parameters":[{"schema":{"type":"string","minLength":2,"example":"Stripe","description":"The company: a name, a LinkedIn company URL or handle, or its website. The mail domain and GitHub org are derived from it."},"required":true,"description":"The company: a name, a LinkedIn company URL or handle, or its website. The mail domain and GitHub org are derived from it.","name":"company","in":"query"},{"schema":{"type":"string","example":"stripe.com","description":"Override the mail domain. Normally omitted -- it is read from the company's LinkedIn page, or found by search when that page has none."},"required":false,"description":"Override the mail domain. Normally omitted -- it is read from the company's LinkedIn page, or found by search when that page has none.","name":"domain","in":"query"},{"schema":{"type":"string","example":"stripe","description":"Override the GitHub org slug. Normally omitted -- plausible slugs are probed against the GitHub API and the real one is used."},"required":false,"description":"Override the GitHub org slug. Normally omitted -- plausible slugs are probed against the GitHub API and the real one is used.","name":"github_org","in":"query"},{"schema":{"type":"boolean","example":true,"description":"Derive the missing identity fields before the sweep. Off runs against exactly the company, domain and github_org given."},"required":false,"description":"Derive the missing identity fields before the sweep. Off runs against exactly the company, domain and github_org given.","name":"resolve","in":"query"},{"schema":{"type":"string","example":"first.last|all|collapse|collapse|ascii","description":"Rule token from a previous response's `email_pattern.token`. Pass it to reuse an already-derived rule instead of deriving it again."},"required":false,"description":"Rule token from a previous response's `email_pattern.token`. Pass it to reuse an already-derived rule instead of deriving it again.","name":"pattern","in":"query"},{"schema":{"type":"string","example":"CEO,CTO,VP","description":"Comma-separated seniority titles to fan queries out over. Defaults to a built-in C-level/VP/Head/Director list."},"required":false,"description":"Comma-separated seniority titles to fan queries out over. Defaults to a built-in C-level/VP/Head/Director list.","name":"terms","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":15,"example":15,"description":"Cap on title variants per engine."},"required":false,"description":"Cap on title variants per engine.","name":"max_terms","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":3,"example":2,"description":"Result pages per query, per engine."},"required":false,"description":"Result pages per query, per engine.","name":"pages","in":"query"},{"schema":{"type":"string","example":"yahoo,brave,ddg","description":"Comma-separated search engines to fan out over: yahoo, brave, ddg. Defaults to all three."},"required":false,"description":"Comma-separated search engines to fan out over: yahoo, brave, ddg. Defaults to all three.","name":"engines","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":5,"example":3,"description":"Candidate addresses to propose per person, ranked cheapest-to-verify first."},"required":false,"description":"Candidate addresses to propose per person, ranked cheapest-to-verify first.","name":"max_candidates","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/company/hiring-trigger":{"get":{"operationId":"linkedinCompanyHiringTrigger","tags":["LinkedIn"],"summary":"Analyze recent hiring signals","description":"Analyze a company's recent jobs for department and initiative signals, then return relevant senior people and ranked contact candidates. Each signal links to supporting job evidence.","parameters":[{"schema":{"type":"string","minLength":2,"example":"Stripe","description":"Company name, LinkedIn company URL or handle, or website."},"required":true,"description":"Company name, LinkedIn company URL or handle, or website.","name":"company","in":"query"},{"schema":{"type":"string","pattern":"^\\d+$","example":"2135371","description":"Numeric LinkedIn company id. Omit it to resolve the company first."},"required":false,"description":"Numeric LinkedIn company id. Omit it to resolve the company first.","name":"company_id","in":"query"},{"schema":{"type":"string","maxLength":200,"example":"machine learning","description":"Words that fresh job titles and descriptions should match."},"required":false,"description":"Words that fresh job titles and descriptions should match.","name":"keywords","in":"query"},{"schema":{"type":"string","maxLength":200,"example":"United States","description":"Place to restrict the job search to."},"required":false,"description":"Place to restrict the job search to.","name":"location","in":"query"},{"schema":{"type":"string","pattern":"^\\d+$","example":"103644278","description":"Numeric geo id from /geo/typeahead for a precise location filter."},"required":false,"description":"Numeric geo id from /geo/typeahead for a precise location filter.","name":"geo_id","in":"query"},{"schema":{"type":"string","enum":["past_24_hours","past_week","past_month"],"default":"past_week","example":"past_week","description":"How recently each returned job must have been posted."},"required":false,"description":"How recently each returned job must have been posted.","name":"date_posted","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":10,"default":5,"example":5,"description":"Maximum fresh jobs to include as evidence."},"required":false,"description":"Maximum fresh jobs to include as evidence.","name":"job_limit","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":10,"default":3,"example":3,"description":"Maximum jobs to read in full before deriving the signal."},"required":false,"description":"Maximum jobs to read in full before deriving the signal.","name":"detail_limit","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"default":5,"example":5,"description":"Maximum relevant decision-makers to return."},"required":false,"description":"Maximum relevant decision-makers to return.","name":"contact_limit","in":"query"},{"schema":{"type":"string","enum":["engineering","sales","marketing","product","finance","people","data","operations","legal","support"],"example":"engineering","description":"Buying function to prioritize. Omit it to derive the function from the jobs."},"required":false,"description":"Buying function to prioritize. Omit it to derive the function from the jobs.","name":"department","in":"query"},{"schema":{"type":"boolean","default":false,"example":true,"description":"Check proposed addresses when the mail domain supports mailbox verification."},"required":false,"description":"Check proposed addresses when the mail domain supports mailbox verification.","name":"verify","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/company/resolve":{"get":{"operationId":"LinkedIn Company Resolve","tags":["LinkedIn"],"summary":"Resolve a company","description":"Resolve a company name, LinkedIn URL or handle, or website to a company name, email domain, public code organization, and LinkedIn handle. `basis` records the source used for each field.","parameters":[{"schema":{"type":"string","minLength":2,"example":"Stripe","description":"The company: a name, a LinkedIn company URL or handle, or its website. A host typed here is used as given -- it is an instruction, not a guess to second-guess."},"required":true,"description":"The company: a name, a LinkedIn company URL or handle, or its website. A host typed here is used as given -- it is an instruction, not a guess to second-guess.","name":"company","in":"query"},{"schema":{"type":"string","example":"stripe.com","description":"Override the mail domain. Normally omitted -- it is read from the company's LinkedIn page, or found by search when that page has none."},"required":false,"description":"Override the mail domain. Normally omitted -- it is read from the company's LinkedIn page, or found by search when that page has none.","name":"domain","in":"query"},{"schema":{"type":"string","example":"stripe","description":"Override the GitHub org slug. Normally omitted -- plausible slugs are probed and the real one is used."},"required":false,"description":"Override the GitHub org slug. Normally omitted -- plausible slugs are probed and the real one is used.","name":"github_org","in":"query"},{"schema":{"type":"boolean","example":true,"description":"Probe for the company's GitHub organisation. Off skips it -- it is the richest free source of confirmed addresses but is rate-limited per IP, and a caller that does not need addresses need not spend that budget."},"required":false,"description":"Probe for the company's GitHub organisation. Off skips it -- it is the richest free source of confirmed addresses but is rate-limited per IP, and a caller that does not need addresses need not spend that budget.","name":"resolve_github","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/search/profiles":{"get":{"operationId":"LinkedIn Search Profiles","tags":["LinkedIn"],"summary":"Search public profiles","description":"Search one page of public profiles and return each profile's name and headline. Results do not confirm current employer or seniority.","parameters":[{"schema":{"type":"string","minLength":2,"maxLength":400,"example":"site:linkedin.com/in \"Stripe\" \"CTO\"","description":"The search query, sent to the engine as written."},"required":true,"description":"The search query, sent to the engine as written.","name":"query","in":"query"},{"schema":{"type":"string","enum":["yahoo","brave","ddg"],"example":"yahoo","description":"Search engine to use. An engine that refuses the query answers with a retryable error, not an empty page."},"required":false,"description":"Search engine to use. An engine that refuses the query answers with a retryable error, not an empty page.","name":"engine","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9,"example":0,"description":"Zero-based result page. Paging one query past its result cap returns nothing new -- more distinct queries beat more pages of one."},"required":false,"description":"Zero-based result page. Paging one query past its result cap returns nothing new -- more distinct queries beat more pages of one.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/people/bind":{"post":{"operationId":"LinkedIn People Bind","tags":["LinkedIn"],"summary":"Confirm who works at a company","description":"Classify profile rows by whether each person currently works at the requested company. Each row includes its verdict, seniority, function, and likely role in a buying decision.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"company":{"type":"string","minLength":2,"example":"Datadog","description":"The employer to bind against. Use the canonical name from /company/resolve -- binding matches the name as it appears in job titles, so 'Datadog' binds where 'Datadog, Inc.' does not."},"department":{"type":"string","example":"engineering","description":"Keep only this function, and read committee roles relative to it. Omitted, every function is kept."},"rows":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"Yanbing Li","description":"The person's name, as parsed from the search result title."},"headline":{"type":"string","nullable":true,"example":"SVP Engineering at Datadog","description":"The headline. Everything is read from this: the employer, the seniority and the function."},"url":{"type":"string","nullable":true,"example":"https://www.linkedin.com/in/yanbingli/","description":"Public profile URL. The slug is read from it when `username` is absent."},"username":{"type":"string","nullable":true,"example":"yanbingli","description":"Profile slug. The key rows are deduplicated on."}}},"minItems":1,"maxItems":500,"description":"Parsed profile rows, typically several pages of /search/profiles stitched together. Duplicates are expected and are collapsed on the profile slug."}},"required":["company","rows"]}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/emails/render":{"post":{"operationId":"LinkedIn Emails Render","tags":["LinkedIn"],"summary":"Build email addresses for names","description":"Build ranked candidate email addresses from names and an email domain. A rule token from `/company/email-pattern` carries its supporting evidence; without one, results are scored guesses.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"example":"datadoghq.com","description":"The company's mail domain."},"names":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":500,"example":["Yanbing Li","Sean Walters"],"description":"People's names, one per address to render."},"pattern":{"type":"string","example":"first.last|all|collapse|collapse|ascii;0.97;28","description":"A rule token from /company/email-pattern. Omitted, the candidates are ranked guesses and are scored as guesses."},"max_candidates":{"type":"integer","minimum":1,"maximum":5,"example":3,"description":"Candidate addresses per person, best first."}},"required":["domain","names"]}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/company/email-pattern":{"get":{"operationId":"LinkedIn Company Email Pattern","tags":["LinkedIn"],"summary":"Infer a company email format","description":"Infer a company's email address format from published addresses. The response includes the format, confidence, supporting examples, evidence type, and optional generated addresses for supplied names.","parameters":[{"schema":{"type":"string","minLength":2,"example":"stripe.com","description":"The company: its mail domain, its name, or a LinkedIn company URL. A name is resolved to a domain before the lookup."},"required":true,"description":"The company: its mail domain, its name, or a LinkedIn company URL. A name is resolved to a domain before the lookup.","name":"domain","in":"query"},{"schema":{"type":"string","example":"stripe","description":"Override the GitHub org slug. Normally omitted -- it is the richest free source and is found rather than asked for."},"required":false,"description":"Override the GitHub org slug. Normally omitted -- it is the richest free source and is found rather than asked for.","name":"github_org","in":"query"},{"schema":{"type":"string","example":"Jane Doe,John Smith","description":"Optional comma-separated employee names to render under the learned rule, and to run the collision check against."},"required":false,"description":"Optional comma-separated employee names to render under the learned rule, and to run the collision check against.","name":"names","in":"query"},{"schema":{"type":"boolean","example":true,"description":"Derive the mail domain and GitHub org when they were not given."},"required":false,"description":"Derive the mail domain and GitHub org when they were not given.","name":"resolve","in":"query"},{"schema":{"type":"string","example":"first.last|all|collapse|collapse|ascii","description":"Rule token from a previous response's `email_pattern.token`. Pass it to reuse an already-derived rule instead of deriving it again."},"required":false,"description":"Rule token from a previous response's `email_pattern.token`. Pass it to reuse an already-derived rule instead of deriving it again.","name":"pattern","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":5,"example":3,"description":"Candidate addresses to propose per name, ranked cheapest-to-verify first."},"required":false,"description":"Candidate addresses to propose per name, ranked cheapest-to-verify first.","name":"max_candidates","in":"query"},{"schema":{"type":"boolean","example":true,"description":"Confirm each rendered address against the mail server. A catch-all domain accepts every address, so verification is impossible there and is reported rather than attempted -- see domain_verifiable on the response."},"required":false,"description":"Confirm each rendered address against the mail server. A catch-all domain accepts every address, so verification is impossible there and is reported rather than attempted -- see domain_verifiable on the response.","name":"verify","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/post":{"get":{"operationId":"LinkedIn Post","tags":["LinkedIn"],"summary":"Get a post","description":"Returns a public post or article with text, media, engagement counts, and available comments. Requires `post_url`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"microsoft_june-activity-7477715981667086336-BV_s","description":"Post permalink slug or full /posts/ or /pulse/ URL."},"required":true,"description":"Post permalink slug or full /posts/ or /pulse/ URL.","name":"post_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/ads/detail":{"get":{"operationId":"LinkedIn Ad Detail","tags":["LinkedIn"],"summary":"Get ad details","description":"Returns one public Ad Library record with creative, advertiser, payer, run dates, impressions, and targeting. Requires `ad_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.linkedin.com/ad-library/detail/1532791186","description":"Full LinkedIn Ad Library detail URL. Numeric ad ids remain supported."},"required":true,"description":"Full LinkedIn Ad Library detail URL. Numeric ad ids remain supported.","name":"ad_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"ad_id":{"type":"string","nullable":true},"creative_type":{"type":"string","nullable":true},"ad_format":{"type":"string","nullable":true},"advertiser":{"type":"string","nullable":true},"advertiser_company_id":{"type":"string","nullable":true},"advertiser_logo":{"type":"string","nullable":true},"paid_for_by":{"type":"string","nullable":true},"run_dates":{"type":"string","nullable":true},"body":{"type":"string","nullable":true},"headline":{"type":"string","nullable":true},"image":{"type":"string","nullable":true},"total_impressions":{"type":"string","nullable":true},"targeting":{"type":"object","properties":{"segments":{"type":"array","items":{"type":"object","properties":{"parameter":{"type":"string","nullable":true},"mode":{"type":"string","enum":["include","exclude"]},"summary":{"type":"string"},"values":{"type":"string","nullable":true}},"required":["parameter","mode","summary","values"]}},"matrix":{"type":"array","items":{"type":"object","properties":{"parameter":{"type":"string","nullable":true},"targeted":{"type":"boolean"},"excluded":{"type":"boolean"}},"required":["parameter","targeted","excluded"]}}},"required":["segments","matrix"]}},"required":["ad_id","creative_type","ad_format","advertiser","advertiser_company_id","advertiser_logo","paid_for_by","run_dates","body","headline","image","total_impressions","targeting"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/ads/search":{"get":{"operationId":"LinkedIn Ads Search","tags":["LinkedIn"],"summary":"Search ads","description":"Returns the first page of public ads matching the supplied advertiser, payer, keyword, country, date, or impression filters. No single filter is required; use the returned `pagination_token` for the next page.","parameters":[{"schema":{"type":"string","example":"Microsoft","description":"Advertiser (account owner) name filter."},"required":false,"description":"Advertiser (account owner) name filter.","name":"account_owner","in":"query"},{"schema":{"type":"string","example":"microsoft","description":"Alternative advertiser-name filter."},"required":false,"description":"Alternative advertiser-name filter.","name":"company_name","in":"query"},{"schema":{"type":"string","example":"Vnc Communications, Inc.","description":"'Paid for by' entity name filter."},"required":false,"description":"'Paid for by' entity name filter.","name":"payer","in":"query"},{"schema":{"type":"string","example":"cloud","description":"Free-text creative keyword."},"required":false,"description":"Free-text creative keyword.","name":"keyword","in":"query"},{"schema":{"type":"string","example":"us","description":"ISO 3166-1 alpha-2 country code the ad was served in, comma-separated for multiple."},"required":false,"description":"ISO 3166-1 alpha-2 country code the ad was served in, comma-separated for multiple.","name":"countries","in":"query"},{"schema":{"type":"string","enum":["last-30-days","current-month","current-year","last-year","custom-date-range"],"example":"last-30-days","description":"Date range preset. custom-date-range requires startdate/enddate."},"required":false,"description":"Date range preset. custom-date-range requires startdate/enddate.","name":"date_option","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-06-01","description":"Custom range start (YYYY-MM-DD). Requires date_option=custom-date-range."},"required":false,"description":"Custom range start (YYYY-MM-DD). Requires date_option=custom-date-range.","name":"startdate","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-07-01","description":"Custom range end (YYYY-MM-DD). Requires date_option=custom-date-range."},"required":false,"description":"Custom range end (YYYY-MM-DD). Requires date_option=custom-date-range.","name":"enddate","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"example":1,"description":"Minimum impressions, paired with impressions_min_unit."},"required":false,"description":"Minimum impressions, paired with impressions_min_unit.","name":"impressions_min_value","in":"query"},{"schema":{"type":"string","enum":["none","thousand","million"],"example":"thousand","description":"Unit for impressions_min_value."},"required":false,"description":"Unit for impressions_min_value.","name":"impressions_min_unit","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"example":5,"description":"Maximum impressions, paired with impressions_max_unit."},"required":false,"description":"Maximum impressions, paired with impressions_max_unit.","name":"impressions_max_value","in":"query"},{"schema":{"type":"string","enum":["none","thousand","million"],"example":"thousand","description":"Unit for impressions_max_value."},"required":false,"description":"Unit for impressions_max_value.","name":"impressions_max_unit","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"ads":{"type":"array","items":{"type":"object","properties":{"ad_id":{"type":"string"},"url":{"type":"string"},"creative_type":{"type":"string","nullable":true},"thumbnail":{"type":"string","nullable":true},"aria_label":{"type":"string","nullable":true},"is_video":{"type":"boolean"}},"required":["ad_id","url","creative_type","thumbnail","aria_label","is_video"]}},"count":{"type":"integer","minimum":0},"match_count":{"type":"integer","nullable":true,"minimum":0},"is_last_page":{"type":"boolean","nullable":true},"pagination_token":{"type":"string","nullable":true}},"required":["ads","count","match_count","is_last_page","pagination_token"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/linkedin/ads/search/pagination":{"get":{"operationId":"LinkedIn Ads Search Pagination","tags":["LinkedIn"],"summary":"Get the next ad search page","description":"Returns the next page for a previous Ad Library search. Requires `pagination_token`; send the same search filters used for the prior page.","parameters":[{"schema":{"type":"string","example":"Microsoft","description":"Advertiser (account owner) name filter."},"required":false,"description":"Advertiser (account owner) name filter.","name":"account_owner","in":"query"},{"schema":{"type":"string","example":"microsoft","description":"Alternative advertiser-name filter."},"required":false,"description":"Alternative advertiser-name filter.","name":"company_name","in":"query"},{"schema":{"type":"string","example":"Vnc Communications, Inc.","description":"'Paid for by' entity name filter."},"required":false,"description":"'Paid for by' entity name filter.","name":"payer","in":"query"},{"schema":{"type":"string","example":"cloud","description":"Free-text creative keyword."},"required":false,"description":"Free-text creative keyword.","name":"keyword","in":"query"},{"schema":{"type":"string","example":"us","description":"ISO 3166-1 alpha-2 country code the ad was served in, comma-separated for multiple."},"required":false,"description":"ISO 3166-1 alpha-2 country code the ad was served in, comma-separated for multiple.","name":"countries","in":"query"},{"schema":{"type":"string","enum":["last-30-days","current-month","current-year","last-year","custom-date-range"],"example":"last-30-days","description":"Date range preset. custom-date-range requires startdate/enddate."},"required":false,"description":"Date range preset. custom-date-range requires startdate/enddate.","name":"date_option","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-06-01","description":"Custom range start (YYYY-MM-DD). Requires date_option=custom-date-range."},"required":false,"description":"Custom range start (YYYY-MM-DD). Requires date_option=custom-date-range.","name":"startdate","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-07-01","description":"Custom range end (YYYY-MM-DD). Requires date_option=custom-date-range."},"required":false,"description":"Custom range end (YYYY-MM-DD). Requires date_option=custom-date-range.","name":"enddate","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"example":1,"description":"Minimum impressions, paired with impressions_min_unit."},"required":false,"description":"Minimum impressions, paired with impressions_min_unit.","name":"impressions_min_value","in":"query"},{"schema":{"type":"string","enum":["none","thousand","million"],"example":"thousand","description":"Unit for impressions_min_value."},"required":false,"description":"Unit for impressions_min_value.","name":"impressions_min_unit","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"example":5,"description":"Maximum impressions, paired with impressions_max_unit."},"required":false,"description":"Maximum impressions, paired with impressions_max_unit.","name":"impressions_max_value","in":"query"},{"schema":{"type":"string","enum":["none","thousand","million"],"example":"thousand","description":"Unit for impressions_max_value."},"required":false,"description":"Unit for impressions_max_value.","name":"impressions_max_unit","in":"query"},{"schema":{"type":"string","minLength":1,"example":"1456442733-1785251293989","description":"Opaque token from a prior /ads/search or /ads/search/pagination response's paginationMetadata."},"required":true,"description":"Opaque token from a prior /ads/search or /ads/search/pagination response's paginationMetadata.","name":"pagination_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"ads":{"type":"array","items":{"type":"object","properties":{"ad_id":{"type":"string"},"url":{"type":"string"},"creative_type":{"type":"string","nullable":true},"thumbnail":{"type":"string","nullable":true},"aria_label":{"type":"string","nullable":true},"is_video":{"type":"boolean"}},"required":["ad_id","url","creative_type","thumbnail","aria_label","is_video"]}},"count":{"type":"integer","minimum":0},"match_count":{"type":"integer","nullable":true,"minimum":0},"is_last_page":{"type":"boolean","nullable":true},"pagination_token":{"type":"string","nullable":true}},"required":["ads","count","match_count","is_last_page","pagination_token"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linkedin","x-toolzer-verified":true}},"/v1/tiktok-shop/product/detail":{"get":{"operationId":"Get TikTok Shop Product Detail V2","tags":["TikTok Shop - Product"],"summary":"Get TikTok Shop product details (v2)","description":"Returns public product page data for `product_id`: title, media, SKUs and pricing, shop details, and review summary. `region` selects the storefront; pricing and availability are region-specific.","parameters":[{"schema":{"type":"string","pattern":"^\\d{10,30}$","example":"1730927783781307026","description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result."},"required":true,"description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result.","name":"product_id","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","JP","MX"],"default":"US","description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"product_info":{"type":"object","properties":{"product_model":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}},"shop_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"review_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"categories":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/product/reviews":{"get":{"operationId":"Get TikTok Shop Product Reviews V2","tags":["TikTok Shop - Product"],"summary":"List TikTok Shop product reviews (v2)","description":"Returns customer reviews for `product_id`: ratings, text, media, and seller replies where present. `count` (default 30, max 500) sets how many; `sort` and `filter` narrow them. `has_more` says whether more reviews exist.","parameters":[{"schema":{"type":"string","pattern":"^\\d{10,30}$","example":"1730927783781307026","description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result."},"required":true,"description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result.","name":"product_id","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","JP","MX"],"default":"US","description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","name":"region","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":500,"default":30,"example":30,"description":"How many reviews to return (1-500). Reviews are collected in pages of up to 100, so larger values take longer to answer."},"required":false,"description":"How many reviews to return (1-500). Reviews are collected in pages of up to 100, so larger values take longer to answer.","name":"count","in":"query"},{"schema":{"type":"string","enum":["recommended","most_recent"],"default":"recommended","example":"recommended","description":"Review order: `recommended` (default) or `most_recent`."},"required":false,"description":"Review order: `recommended` (default) or `most_recent`.","name":"sort","in":"query"},{"schema":{"type":"string","enum":["all","5_star","4_star","3_star","2_star","1_star","with_media","verified_purchase"],"default":"all","example":"all","description":"Restrict to a star rating, to reviews carrying photos/video, or to verified purchases. `total_reviews` in the response reflects the filter, so it doubles as a count per rating."},"required":false,"description":"Restrict to a star rating, to reviews carrying photos/video, or to verified purchases. `total_reviews` in the response reflects the filter, so it doubles as a count per rating.","name":"filter","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"product_reviews":{"type":"array","items":{"type":"object","properties":{"review_id":{"type":"string"}},"required":["review_id"],"additionalProperties":{"nullable":true}}},"total_reviews":{"type":"string"},"has_more":{"type":"boolean"}},"required":["product_reviews"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/products/search":{"get":{"operationId":"Search TikTok Shop Products V2","tags":["TikTok Shop - Product"],"summary":"Search TikTok Shop products (v2)","description":"Returns TikTok Shop products matching `keyword`. `count` (default 30, max 150) sets how many to return; `has_more` says whether more exist beyond what was returned. `region` supports US only.","parameters":[{"schema":{"type":"string","minLength":1,"example":"wireless earbuds","description":"Search text, for example a product name."},"required":true,"description":"Search text, for example a product name.","name":"keyword","in":"query"},{"schema":{"type":"string","enum":["US"],"default":"US","description":"Storefront region. This endpoint supports US. For keyword search in SG/MY/PH/TH/VN, use /v2/tiktok-shop/products/search.","example":"US"},"required":false,"description":"Storefront region. This endpoint supports US. For keyword search in SG/MY/PH/TH/VN, use /v2/tiktok-shop/products/search.","name":"region","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":150,"default":30,"example":30,"description":"How many products to return (1-150). Results are collected in pages of about 30, so larger values take longer to answer. Fewer may come back than asked for — the response's own has_more flag is the source of truth on whether more exist."},"required":false,"description":"How many products to return (1-150). Results are collected in pages of about 30, so larger values take longer to answer. Fewer may come back than asked for — the response's own has_more flag is the source of truth on whether more exist.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"shops":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"has_more":{"type":"boolean"},"load_more_params":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["products"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/category/products":{"get":{"operationId":"Get TikTok Shop Category Products V2","tags":["TikTok Shop - Category"],"summary":"List TikTok Shop category products (v2)","description":"Returns products for `category_id` in the chosen `region`. The listing is a random sample: repeat calls return different products, so it is not a stable page. `count` (default 20, max 150) sets how many.","parameters":[{"schema":{"type":"integer","nullable":true,"example":601450,"description":"Numeric TikTok Shop category ID, for example 601450."},"required":false,"description":"Numeric TikTok Shop category ID, for example 601450.","name":"category_id","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","JP","MX"],"default":"US","description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","name":"region","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":150,"default":20,"example":20,"description":"How many products to return (1-150). Results are collected in pages of about 20, so larger values take longer to answer. Fewer may come back than asked for — the response's own has_more flag is the source of truth on whether more exist."},"required":false,"description":"How many products to return (1-150). Results are collected in pages of about 20, so larger values take longer to answer. Fewer may come back than asked for — the response's own has_more flag is the source of truth on whether more exist.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"categoryInfo":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"categoryProductsData":{"type":"object","properties":{"productList":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"categoryReviews":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"hasMore":{"type":"boolean"}},"required":["productList"],"additionalProperties":{"nullable":true}}},"required":["categoryProductsData"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/seller/products":{"get":{"operationId":"Get TikTok Shop Seller Products V2","tags":["TikTok Shop - Shop"],"summary":"List TikTok Shop seller products (v2)","description":"Returns the product catalog for `seller_id`. `count` (default 30, max 150) sets how many products to return; `has_more` says whether the seller has more. `region` supports US only.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7495516049083828882","description":"TikTok Shop seller ID, from the shop data in a product detail result."},"required":true,"description":"TikTok Shop seller ID, from the shop data in a product detail result.","name":"seller_id","in":"query"},{"schema":{"type":"string","enum":["US"],"default":"US","description":"Storefront region. This endpoint supports US. For seller data in SG/MY/PH/TH/VN, use /v2/tiktok-shop/seller/products.","example":"US"},"required":false,"description":"Storefront region. This endpoint supports US. For seller data in SG/MY/PH/TH/VN, use /v2/tiktok-shop/seller/products.","name":"region","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":150,"default":30,"example":30,"description":"How many products to return (1-150). Results are collected in pages of about 30, so larger values take longer to answer. Fewer may come back than asked for — the response's own has_more flag is the source of truth on whether more exist."},"required":false,"description":"How many products to return (1-150). Results are collected in pages of about 30, so larger values take longer to answer. Fewer may come back than asked for — the response's own has_more flag is the source of truth on whether more exist.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"has_more":{"type":"boolean"},"load_more_params":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["products"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/shop/info":{"get":{"operationId":"Get TikTok Shop Info V2","tags":["TikTok Shop - Shop"],"summary":"Get TikTok Shop seller profile (v2)","description":"Returns the public shop profile for `seller_id`. Take the ID from a product detail or seller result. `region` supports US only.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7495516049083828882","description":"TikTok Shop seller ID, from the shop data in a product detail result."},"required":true,"description":"TikTok Shop seller ID, from the shop data in a product detail result.","name":"seller_id","in":"query"},{"schema":{"type":"string","enum":["US"],"default":"US","description":"Storefront region. This endpoint supports US. For seller data in SG/MY/PH/TH/VN, use /v2/tiktok-shop/seller/products.","example":"US"},"required":false,"description":"Storefront region. This endpoint supports US. For seller data in SG/MY/PH/TH/VN, use /v2/tiktok-shop/seller/products.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/home/carousels":{"get":{"operationId":"Get TikTok Shop Home Carousels V2","tags":["TikTok Shop - Product"],"summary":"Get TikTok Shop home carousels (v2)","description":"Returns the TikTok Shop homepage product carousels and deals module for `region`. Carousels with products are resolved in `hydrated_carousels`, keyed by `component_id`; personalized carousels that need a signed-in shopper are omitted.","parameters":[{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","JP","MX"],"default":"US","description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"carousels":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"deals":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"hydrated_carousels":{"type":"array","items":{"type":"object","properties":{"component_id":{"type":"integer"},"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"has_more":{"type":"boolean"}},"required":["component_id","products","has_more"]}}},"required":["carousels"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/product/you-may-like":{"get":{"operationId":"Get TikTok Shop You May Like V2","tags":["TikTok Shop - Product"],"summary":"List TikTok Shop related products (v2)","description":"Returns the 'you may like' recommendation carousel shown on the detail page of `product_id`, for the chosen `region`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{10,30}$","example":"1730927783781307026","description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result."},"required":true,"description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result.","name":"product_id","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","JP","MX"],"default":"US","description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"has_more":{"type":"boolean"},"load_more_params":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["products"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/product/more-from-shop":{"get":{"operationId":"Get TikTok Shop More From Shop V2","tags":["TikTok Shop - Product"],"summary":"List more from this TikTok Shop (v2)","description":"Returns other products from the same seller as `product_id`, as shown in that product page's 'more from this shop' section for the chosen `region`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{10,30}$","example":"1730927783781307026","description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result."},"required":true,"description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result.","name":"product_id","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","JP","MX"],"default":"US","description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"load_more_params":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["products"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/product/top-reviewed":{"get":{"operationId":"Get TikTok Shop Top Reviewed V2","tags":["TikTok Shop - Product"],"summary":"List TikTok Shop top-reviewed products","description":"Returns the review-ranked product list for the seller of `product_id`. `region` supports US only: no other storefront publishes this widget on its product pages.","parameters":[{"schema":{"type":"string","pattern":"^\\d{10,30}$","example":"1730927783781307026","description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result."},"required":true,"description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result.","name":"product_id","in":"query"},{"schema":{"type":"string","enum":["US"],"default":"US","description":"Storefront region. This endpoint supports US. Use /v1/tiktok-shop/product/detail for product details in other supported regions.","example":"US"},"required":false,"description":"Storefront region. This endpoint supports US. Use /v1/tiktok-shop/product/detail for product details in other supported regions.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}}},"required":["products"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/product/showcase-videos":{"get":{"operationId":"Get TikTok Shop Product Showcase Videos V2","tags":["TikTok Shop - Product"],"summary":"List TikTok Shop showcase videos","description":"Returns creator and affiliate showcase videos for `product_id`: video and cover URLs, author details, and play and like counts. `region` supports US only: no other storefront publishes this widget on its product pages.","parameters":[{"schema":{"type":"string","pattern":"^\\d{10,30}$","example":"1730927783781307026","description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result."},"required":true,"description":"Numeric TikTok Shop product ID, from the `product_id` of a search, category, or seller result.","name":"product_id","in":"query"},{"schema":{"type":"string","enum":["US"],"default":"US","description":"Storefront region. This endpoint supports US. Use /v1/tiktok-shop/product/detail for product details in other supported regions.","example":"US"},"required":false,"description":"Storefront region. This endpoint supports US. Use /v1/tiktok-shop/product/detail for product details in other supported regions.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"product_id":{"type":"string"},"videos":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string"},"height":{"type":"integer"},"width":{"type":"integer"},"duration":{"type":"integer","minimum":0},"author_id":{"type":"string"},"author_name":{"type":"string"},"author_avatar_url":{"type":"string"},"play_count":{"anyOf":[{"type":"string"},{"type":"number"}]},"like_count":{"anyOf":[{"type":"string"},{"type":"number"}]},"upload_time":{"anyOf":[{"type":"string"},{"type":"number"}]},"expiration_time":{"anyOf":[{"type":"string"},{"type":"number"}]},"title":{"type":"string"},"cover_image_url":{"type":"string"},"content_url":{"type":"string"},"bc_ad_label_text":{"type":"string"}},"required":["item_id"]}}},"required":["product_id","videos"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/search/recommended-shops":{"get":{"operationId":"Get TikTok Shop Recommended Shops V2","tags":["TikTok Shop - Search"],"summary":"Get TikTok Shop recommended shop","description":"Returns the shop spotlighted in search results for `keyword`, together with its own product list. `region` supports US only.","parameters":[{"schema":{"type":"string","minLength":1,"example":"wireless earbuds","description":"Search text, for example a product name."},"required":true,"description":"Search text, for example a product name.","name":"keyword","in":"query"},{"schema":{"type":"string","enum":["US"],"default":"US","description":"Storefront region. This endpoint supports US. For keyword search in SG/MY/PH/TH/VN, use /v2/tiktok-shop/products/search.","example":"US"},"required":false,"description":"Storefront region. This endpoint supports US. For keyword search in SG/MY/PH/TH/VN, use /v2/tiktok-shop/products/search.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"default_shop_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"default_shop_products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"default_shop_products_has_more":{"type":"boolean"},"default_shop_products_next_search_param":{"type":"string"},"shops":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/search/frequently-bought-together":{"get":{"operationId":"Get TikTok Shop Frequently Bought Together V2","tags":["TikTok Shop - Search"],"summary":"List TikTok Shop bought-together","description":"Returns the 'frequently bought together' products shown in search results for `keyword`. Often empty, because not every search has a bundling signal. `region` supports US only.","parameters":[{"schema":{"type":"string","minLength":1,"example":"wireless earbuds","description":"Search text, for example a product name."},"required":true,"description":"Search text, for example a product name.","name":"keyword","in":"query"},{"schema":{"type":"string","enum":["US"],"default":"US","description":"Storefront region. This endpoint supports US. For keyword search in SG/MY/PH/TH/VN, use /v2/tiktok-shop/products/search.","example":"US"},"required":false,"description":"Storefront region. This endpoint supports US. For keyword search in SG/MY/PH/TH/VN, use /v2/tiktok-shop/products/search.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"offset":{"type":"number"},"has_more":{"type":"boolean"},"load_more_params":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["products"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/search/recommended-for-you":{"get":{"operationId":"Get TikTok Shop Recommended For You V2","tags":["TikTok Shop - Search"],"summary":"List TikTok Shop recommended products","description":"Returns the 'recommended for you' product list shown in search results for `keyword`. `region` supports US only.","parameters":[{"schema":{"type":"string","minLength":1,"example":"wireless earbuds","description":"Search text, for example a product name."},"required":true,"description":"Search text, for example a product name.","name":"keyword","in":"query"},{"schema":{"type":"string","enum":["US"],"default":"US","description":"Storefront region. This endpoint supports US. For keyword search in SG/MY/PH/TH/VN, use /v2/tiktok-shop/products/search.","example":"US"},"required":false,"description":"Storefront region. This endpoint supports US. For keyword search in SG/MY/PH/TH/VN, use /v2/tiktok-shop/products/search.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"offset":{"type":"number"},"has_more":{"type":"boolean"},"load_more_params":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["products"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/search/related-terms":{"get":{"operationId":"Get TikTok Shop Related Terms V2","tags":["TikTok Shop - Search"],"summary":"List TikTok Shop related search terms","description":"Returns the related search terms and category chips shown alongside search results for `keyword`. `region` supports US only.","parameters":[{"schema":{"type":"string","minLength":1,"example":"wireless earbuds","description":"Search text, for example a product name."},"required":true,"description":"Search text, for example a product name.","name":"keyword","in":"query"},{"schema":{"type":"string","enum":["US"],"default":"US","description":"Storefront region. This endpoint supports US. For keyword search in SG/MY/PH/TH/VN, use /v2/tiktok-shop/products/search.","example":"US"},"required":false,"description":"Storefront region. This endpoint supports US. For keyword search in SG/MY/PH/TH/VN, use /v2/tiktok-shop/products/search.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"search_words":{"type":"object","properties":{"related_links":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string"},"name":{"type":"string"}},"required":["link","name"],"additionalProperties":{"nullable":true}}}},"required":["related_links"],"additionalProperties":{"nullable":true}},"categories":{"type":"object","properties":{"related_links":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string"},"name":{"type":"string"}},"required":["link","name"],"additionalProperties":{"nullable":true}}}},"required":["related_links"],"additionalProperties":{"nullable":true}}},"required":["search_words","categories"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/tiktok-shop/category/breadcrumbs":{"get":{"operationId":"Get TikTok Shop Category Breadcrumbs V2","tags":["TikTok Shop - Category"],"summary":"Get TikTok Shop category breadcrumbs","description":"Returns the ancestor breadcrumb chain for `category_id`, ordered from the root category down, in the chosen `region`.","parameters":[{"schema":{"type":"integer","nullable":true,"example":601450,"description":"Numeric TikTok Shop category ID, for example 601450."},"required":false,"description":"Numeric TikTok Shop category ID, for example 601450.","name":"category_id","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","JP","MX"],"default":"US","description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront to read from, such as US or GB. Results, pricing, and availability are region-specific.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"segments":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"required":["segments"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":true}},"/v1/threads/profile":{"get":{"operationId":"Get Threads Profile","tags":["Threads"],"summary":"Get Threads profile","description":"Returns a public Threads profile for the given `username`, which accepts a handle, an @handle, or a full profile URL. The `id` field in the response is the `user_id` for the profile posts endpoint.","parameters":[{"schema":{"type":"string","minLength":1,"example":"instagram","description":"Threads username, @handle, or full profile URL."},"required":true,"description":"Threads username, @handle, or full profile URL.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"threads","x-toolzer-verified":true}},"/v1/threads/profile/posts":{"get":{"operationId":"Get Threads Profile Posts","tags":["Threads"],"summary":"List Threads profile posts","description":"Lists public posts from a Threads profile. Send the `id` from a profile response as `user_id`, and pass the previous response's cursor as `end_cursor` to get the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"63404918397","description":"Threads user ID — the `id` field of a `/threads/profile` response. A Threads ID is not the account's Instagram ID, and an Instagram ID returns an empty result here."},"required":true,"description":"Threads user ID — the `id` field of a `/threads/profile` response. A Threads ID is not the account's Instagram ID, and an Instagram ID returns an empty result here.","name":"user_id","in":"query"},{"schema":{"type":"string","example":"QVFB...","description":"Pass the cursor returned by the previous response to get the next page. Omit for the first page."},"required":false,"description":"Pass the cursor returned by the previous response to get the next page. Omit for the first page.","name":"end_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"threads","x-toolzer-verified":true}},"/v1/threads/post":{"get":{"operationId":"Get Threads Post","tags":["Threads"],"summary":"Get Threads post","description":"Returns one public Threads post from its URL in `post_url`. Set `include_replies` to true to add a `replies` array with the post's public replies.","parameters":[{"schema":{"type":"string","format":"uri","example":"https://www.threads.com/@zuck/post/DY11ZLWG_eY","description":"Full public Threads post URL."},"required":true,"description":"Full public Threads post URL.","name":"post_url","in":"query"},{"schema":{"type":"string","default":false,"description":"Whether to include a `replies` array of public replies.","example":"false"},"required":false,"description":"Whether to include a `replies` array of public replies.","name":"include_replies","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"threads","x-toolzer-verified":true}},"/v1/threads/search":{"get":{"operationId":"Search Threads","tags":["Threads"],"summary":"Search Threads posts by keyword","description":"Searches public Threads content for required `q`. `serp_type` selects posts (`default`) or tag results (`tags`). The response is a single page with no pagination cursor.","parameters":[{"schema":{"type":"string","minLength":1,"example":"bitcoin","description":"Text to search Threads for."},"required":true,"description":"Text to search Threads for.","name":"q","in":"query"},{"schema":{"type":"string","enum":["default","tags"],"default":"default","example":"default","description":"Result set to return: `default` for posts, `tags` for tag results."},"required":false,"description":"Result set to return: `default` for posts, `tags` for tag results.","name":"serp_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"threads","x-toolzer-verified":true}},"/v1/reddit/subreddit-posts":{"get":{"operationId":"Get Reddit Subreddit Posts V2","tags":["Reddit - Subreddit"],"summary":"List subreddit posts","description":"List a subreddit's posts with title, score, upvote ratio, comment count, awards, media, flair and author identity per post — plus a cursor for the next page. Requires `subreddit`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"technology","description":"Community name, e.g. `technology`. Accepts `r/technology` or a reddit.com URL. 2-21 letters, digits or underscores. An unknown community returns an empty feed, not an error."},"required":true,"description":"Community name, e.g. `technology`. Accepts `r/technology` or a reddit.com URL. 2-21 letters, digits or underscores. An unknown community returns an empty feed, not an error.","name":"subreddit","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"default":25,"example":25,"description":"How many distinct posts to return (max 200). Pages are walked for you; fewer results means the feed ended, which `end_of_feed` confirms. A higher count is slower, not more expensive."},"required":false,"description":"How many distinct posts to return (max 200). Pages are walked for you; fewer results means the feed ended, which `end_of_feed` confirms. A higher count is slower, not more expensive.","name":"count","in":"query"},{"schema":{"type":"string","enum":["best","hot","new","top","rising","controversial"],"default":"best","example":"best","description":"Feed order: `best` (default), `hot`, `new`, `top`, `rising` or `controversial`. Other values are rejected. `top` and `controversial` also accept `time`."},"required":false,"description":"Feed order: `best` (default), `hot`, `new`, `top`, `rising` or `controversial`. Other values are rejected. `top` and `controversial` also accept `time`.","name":"sort","in":"query"},{"schema":{"type":"string","enum":["HOUR","DAY","WEEK","MONTH","YEAR","ALL"],"example":"WEEK","description":"Time window for `sort=top` or `sort=controversial`: `HOUR`, `DAY`, `WEEK`, `MONTH`, `YEAR` or `ALL` (default). Ignored by other sorts. `WEEK` can reach older posts; filter on `created_at` if you need exactly seven days."},"required":false,"description":"Time window for `sort=top` or `sort=controversial`: `HOUR`, `DAY`, `WEEK`, `MONTH`, `YEAR` or `ALL` (default). Ignored by other sorts. `WEEK` can reach older posts; filter on `created_at` if you need exactly seven days.","name":"time","in":"query"},{"schema":{"type":"string","maxLength":200,"description":"`next_cursor` from the previous response; omit for the top of the feed. A post id (`1vay198`) or fullname (`t3_1vay198`) also works. Cursors don't expire."},"required":false,"description":"`next_cursor` from the previous response; omit for the top of the feed. A post id (`1vay198`) or fullname (`t3_1vay198`) also works. Cursors don't expire.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedditSubredditPostsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":true}},"/v1/reddit/search":{"get":{"operationId":"Get Reddit Search V2","tags":["Reddit - Search"],"summary":"Search Reddit","description":"Search Reddit posts, communities, comments, people, or media and return results in ranked order.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":500,"example":"chatgpt","description":"**What to search for.** Required, and the only parameter search actually needs — everything else selects a corpus or a depth.\n\nReddit's own query syntax is passed through untouched; nothing here rewrites, stems or quotes it."},"required":true,"description":"**What to search for.** Required, and the only parameter search actually needs — everything else selects a corpus or a depth.\n\nReddit's own query syntax is passed through untouched; nothing here rewrites, stems or quotes it.","name":"q","in":"query"},{"schema":{"type":"string","enum":["posts","communities","comments","people","media"],"default":"posts","example":"posts","description":"What to search: `posts` (default), `communities`, `comments`, `people` or `media`. Each row states its `kind`. `people` returns a single short page. `media` rows are posts with null `score` and `comment_count`."},"required":false,"description":"What to search: `posts` (default), `communities`, `comments`, `people` or `media`. Each row states its `kind`. `people` returns a single short page. `media` rows are posts with null `score` and `comment_count`.","name":"type","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"default":25,"example":25,"description":"How many distinct results to return. Pages are walked for you. This endpoint has no usable cursor, so raise `count` to go deeper. `type=people` returns one short page."},"required":false,"description":"How many distinct results to return. Pages are walked for you. This endpoint has no usable cursor, so raise `count` to go deeper. `type=people` returns one short page.","name":"count","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":8000,"description":"Optional cursor taken from Reddit itself. This endpoint returns no `next_cursor`; use `count` to control depth."},"required":false,"description":"Optional cursor taken from Reddit itself. This endpoint returns no `next_cursor`; use `count` to control depth.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedditSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":true}},"/v1/reddit/popular-posts":{"get":{"operationId":"Get Reddit Popular Posts V2","tags":["Reddit - Feed"],"summary":"List popular posts","description":"List posts from r/popular in the same shape as subreddit post results.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":200,"default":25,"example":25,"description":"How many distinct posts to return (max 200). r/popular repeats posts across pages, so duplicates are removed and more pages may be fetched; `pages_fetched` reports how many."},"required":false,"description":"How many distinct posts to return (max 200). r/popular repeats posts across pages, so duplicates are removed and more pages may be fetched; `pages_fetched` reports how many.","name":"count","in":"query"},{"schema":{"type":"string","maxLength":200,"description":"`next_cursor` from the previous response; omit for the top of the feed. A post id or `t3_` fullname also works. The feed re-ranks between calls, so de-duplicate on `id` when collecting."},"required":false,"description":"`next_cursor` from the previous response; omit for the top of the feed. A post id or `t3_` fullname also works. The feed re-ranks between calls, so de-duplicate on `id` when collecting.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedditPopularPostsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":true}},"/v1/reddit/user-posts":{"get":{"operationId":"Get Reddit User Posts V2","tags":["Reddit - User"],"summary":"List user activity","description":"List an account's posts and comments in one activity feed. Each row identifies its type in `kind`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"spez","description":"Account name, e.g. `spez`. Accepts `u/spez` or a reddit.com `/user/` or `/u/` URL. 2-20 letters, digits, underscores or hyphens. An account with no activity returns an empty feed."},"required":true,"description":"Account name, e.g. `spez`. Accepts `u/spez` or a reddit.com `/user/` or `/u/` URL. 2-20 letters, digits, underscores or hyphens. An account with no activity returns an empty feed.","name":"username","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"default":25,"example":25,"description":"How many items to return after `include` is applied. Posts are rarer than comments, so `include=posts` may return fewer than `count` once the feed runs out; `end_of_feed` says when."},"required":false,"description":"How many items to return after `include` is applied. Posts are rarer than comments, so `include=posts` may return fewer than `count` once the feed runs out; `end_of_feed` says when.","name":"count","in":"query"},{"schema":{"type":"string","enum":["all","posts","comments"],"default":"all","example":"all","description":"Which items to keep: `all` (default), `posts` or `comments`. Every row states its `kind`. `posts` is slowest because most items on active accounts are comments."},"required":false,"description":"Which items to keep: `all` (default), `posts` or `comments`. Every row states its `kind`. `posts` is slowest because most items on active accounts are comments.","name":"include","in":"query"},{"schema":{"type":"string","maxLength":200,"description":"`next_cursor` from the previous response; omit for the top of the feed. Always send the cursor as returned: it points at the last item of any kind, and a cursor built from a post id can stall."},"required":false,"description":"`next_cursor` from the previous response; omit for the top of the feed. Always send the cursor as returned: it points at the last item of any kind, and a cursor built from a post id can stall.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedditUserPostsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":true}},"/v1/reddit/user-comments":{"get":{"operationId":"Get Reddit User Comments V2","tags":["Reddit - User"],"summary":"List user comments","description":"List an account's comments with body, score, timestamp, permalink, and subreddit.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"spez","description":"Account name, e.g. `spez`. Accepts `u/spez` or a reddit.com `/user/` URL. 2-20 letters, digits, underscores or hyphens. An account with no comments returns an empty list."},"required":true,"description":"Account name, e.g. `spez`. Accepts `u/spez` or a reddit.com `/user/` URL. 2-20 letters, digits, underscores or hyphens. An account with no comments returns an empty list.","name":"username","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"default":25,"example":25,"description":"How many comments to return. Pages are walked for you. Fewer results means the account has no more comments."},"required":false,"description":"How many comments to return. Pages are walked for you. Fewer results means the account has no more comments.","name":"count","in":"query"},{"schema":{"type":"string","maxLength":200,"description":"`next_cursor` from the previous response; omit for the newest comment. A comment id or `t1_` fullname also works. Cursors don't expire."},"required":false,"description":"`next_cursor` from the previous response; omit for the newest comment. A comment id or `t1_` fullname also works. Cursors don't expire.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedditUserCommentsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":true}},"/v1/reddit/post-comments":{"get":{"operationId":"Get Reddit Post Comments V2","tags":["Reddit - Post"],"summary":"List post comments","description":"List a post's comment tree, flattened with `depth` and `parent_fullname` on each row, plus Reddit's own comment total. Requires `subreddit` and `post_id`; the result may be partial — see `unfollowed_branches` and `truncated_threads`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"technology","description":"Community the post belongs to, e.g. `technology`. Accepts `r/technology` or a URL. It must match the post; a mismatch returns a 500, so pasting the post's permalink into `post_id` is safest."},"required":true,"description":"Community the post belongs to, e.g. `technology`. Accepts `r/technology` or a URL. It must match the post; a mismatch returns a 500, so pasting the post's permalink into `post_id` is safest.","name":"subreddit","in":"query"},{"schema":{"type":"string","maxLength":500,"example":"1vqcqpz","description":"Post id (`1vqcqpz`), `t3_` fullname, or permalink. Prefer the permalink: it also supplies the community, so the two can't disagree."},"required":true,"description":"Post id (`1vqcqpz`), `t3_` fullname, or permalink. Prefer the permalink: it also supplies the community, so the two can't disagree.","name":"post_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"default":25,"example":25,"description":"How many distinct comments to return. Collapsed branches are expanded for you. A short result does not always mean the post has no more comments; deep threads can stay hidden."},"required":false,"description":"How many distinct comments to return. Collapsed branches are expanded for you. A short result does not always mean the post has no more comments; deep threads can stay hidden.","name":"count","in":"query"},{"schema":{"type":"string","enum":["top","new","controversial","old"],"example":"top","description":"Comment order: `top`, `new`, `controversial` or `old`. Omit it for Reddit's default (best)."},"required":false,"description":"Comment order: `top`, `new`, `controversial` or `old`. Omit it for Reddit's default (best).","name":"sort","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedditPostCommentsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":true}},"/v1/reddit/subreddit-info":{"get":{"operationId":"Get Reddit Subreddit Info V2","tags":["Reddit - Subreddit"],"summary":"Get subreddit","description":"Get a community's description, creation date, activity figures, and rules. `data: null` means the community does not exist.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"technology","description":"Community name, e.g. `technology`. Accepts `r/technology` or a URL. 2-21 letters, digits or underscores. An unknown community returns `data: null`."},"required":true,"description":"Community name, e.g. `technology`. Accepts `r/technology` or a URL. 2-21 letters, digits or underscores. An unknown community returns `data: null`.","name":"subreddit","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedditSubredditInfoResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":true}},"/v1/reddit/post-details":{"get":{"operationId":"Get Reddit Post Details V2","tags":["Reddit - Post"],"summary":"Get post","description":"Get a post in the same shape as a feed row, with Reddit's comment total. `subreddit` and `post_id` must refer to the same post.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"technology","description":"Community the post belongs to, e.g. `technology`. Accepts `r/technology` or a URL. It must match the post; a mismatch returns a 500, so pasting the post's permalink into `post_id` is safest."},"required":true,"description":"Community the post belongs to, e.g. `technology`. Accepts `r/technology` or a URL. It must match the post; a mismatch returns a 500, so pasting the post's permalink into `post_id` is safest.","name":"subreddit","in":"query"},{"schema":{"type":"string","maxLength":500,"example":"1vqcqpz","description":"Post id (`1vqcqpz`), `t3_` fullname, or permalink. Prefer the permalink. A temporary failure returns a retryable 503."},"required":true,"description":"Post id (`1vqcqpz`), `t3_` fullname, or permalink. Prefer the permalink. A temporary failure returns a retryable 503.","name":"post_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedditPostDetailsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":true}},"/v1/reddit/user-profile":{"get":{"operationId":"Get Reddit User Profile V2","tags":["Reddit - User"],"summary":"Get user profile","description":"Get an account's ID, names, description, avatar, creation date, and karma breakdown.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"spez","description":"Account name, e.g. `spez`. Accepts `u/spez` or a reddit.com URL. `data: null` means the account doesn't exist."},"required":true,"description":"Account name, e.g. `spez`. Accepts `u/spez` or a reddit.com URL. `data: null` means the account doesn't exist.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedditUserProfileResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":true}},"/v1/tiktok/profile":{"get":{"operationId":"Get TikTok Web Profile","tags":["TikTok - User"],"summary":"Get TikTok profile","description":"Returns a TikTok profile's public statistics: followers, following, likes, and video count. An unknown `username` returns `data: null`.","parameters":[{"schema":{"type":"string","example":"tiktok","description":"TikTok handle, with or without the leading \"@\"."},"required":true,"description":"TikTok handle, with or without the leading \"@\".","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TiktokWebProfileResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":true}},"/v1/tiktok/video":{"get":{"operationId":"Get TikTok Web Video","tags":["TikTok - Video"],"summary":"Get TikTok video details","description":"Returns one TikTok video's public detail. Requires the author's `username` and the `video_id` from its URL. `data` is null when the video is unavailable or removed.","parameters":[{"schema":{"type":"string","example":"tiktok","description":"The video's author handle — TikTok's detail route is scoped under it."},"required":true,"description":"The video's author handle — TikTok's detail route is scoped under it.","name":"username","in":"query"},{"schema":{"type":"string","example":"7106594312292453675","description":"The numeric id from the video's URL."},"required":true,"description":"The numeric id from the video's URL.","name":"video_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TiktokWebVideoResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":true}},"/v1/tiktok/hashtag":{"get":{"operationId":"getTiktokWebHashtag","tags":["TikTok - Hashtag"],"summary":"Get TikTok hashtag details","description":"Returns one hashtag record, including the numeric `id` that `/v1/tiktok/hashtag_videos` takes as `challenge_id`. Returns `data: null` when the hashtag does not exist.","parameters":[{"schema":{"type":"string","example":"gardening","description":"The tag as it appears in a `/tag/<name>` link, with or without the leading \"#\"."},"required":true,"description":"The tag as it appears in a `/tag/<name>` link, with or without the leading \"#\".","name":"hashtag","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TiktokWebHashtagResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":true}},"/v1/tiktok/hashtag_videos":{"get":{"operationId":"getTiktokWebHashtagVideos","tags":["TikTok - Hashtag"],"summary":"List TikTok hashtag videos","description":"Returns public videos for a hashtag, given the `challenge_id` from `/v1/tiktok/hashtag`. Page with `cursor` and `count`.","parameters":[{"schema":{"type":"string","example":"229207","description":"TikTok's own numeric id for the hashtag, from `/tiktok/hashtag`. A tag name is not accepted here — see the endpoint description."},"required":true,"description":"TikTok's own numeric id for the hashtag, from `/tiktok/hashtag`. A tag name is not accepted here — see the endpoint description.","name":"challenge_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0,"example":0,"description":"Where to resume. `0` for the first page, then the `next_cursor` a previous response returned, verbatim. It is TikTok's own token, not a page number."},"required":false,"description":"Where to resume. `0` for the first page, then the `next_cursor` a previous response returned, verbatim. It is TikTok's own token, not a page number.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":30,"example":30,"description":"How many videos to ask for. A ceiling, not a promise — 29-30 items came back for `count=30` on every page measured."},"required":false,"description":"How many videos to ask for. A ceiling, not a promise — 29-30 items came back for `count=30` on every page measured.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TiktokWebHashtagVideosResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":true}},"/v1/tiktok/music_videos":{"get":{"operationId":"getTiktokWebMusicVideos","tags":["TikTok - Music"],"summary":"List TikTok videos by sound","description":"Returns public videos that use a sound, given its `music_id` (the `music.id` on any returned video). Page with `cursor` and `count`. An unknown sound returns `data: null`.","parameters":[{"schema":{"type":"string","example":"6704931455228725250","description":"TikTok's own numeric id for the sound. Every video this surface and `/tiktok/video` return carries one, so nothing has to be resolved first."},"required":true,"description":"TikTok's own numeric id for the sound. Every video this surface and `/tiktok/video` return carries one, so nothing has to be resolved first.","name":"music_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0,"example":0,"description":"Where to resume. `0` for the first page, then the `next_cursor` a previous response returned, verbatim. It is TikTok's own token, not a page number."},"required":false,"description":"Where to resume. `0` for the first page, then the `next_cursor` a previous response returned, verbatim. It is TikTok's own token, not a page number.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":30,"example":30,"description":"How many videos to ask for. A ceiling, not a page size — 6, 12, 25, 27 and 30 items were all returned for `count=30` across seven sounds."},"required":false,"description":"How many videos to ask for. A ceiling, not a page size — 6, 12, 25, 27 and 30 items were all returned for `count=30` across seven sounds.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TiktokWebMusicVideosResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":true}},"/v1/tiktok-ads/resolve-url":{"get":{"operationId":"TikTok Ads Resolve URL","tags":["TikTok Ads Library - URL Helper"],"summary":"Resolve TikTok ads library URL","description":"Takes a public TikTok page `url` and returns the same data as the matching endpoint. Supports Ads Library search, report, and ad-detail URLs, and Creative Center Top Ads dashboard, detail, and Spotlight URLs.","parameters":[{"schema":{"type":"string","maxLength":2000,"format":"uri","example":"https://library.tiktok.com/ads/detail/?ad_id=1871327475870130","description":"A public TikTok Ads Library or Creative Center Top Ads page URL."},"required":true,"description":"A public TikTok Ads Library or Creative Center Top Ads page URL.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/regions":{"get":{"operationId":"TikTok Ads Regions","tags":["TikTok Ads Library - Public Library"],"summary":"List TikTok ads library regions","description":"Returns the countries covered by TikTok ad data. `surface` selects the EU Ads Library, the worldwide Top Ads catalog, or both merged; `lang` sets the label language. No other input is required.","parameters":[{"schema":{"type":"string","enum":["bg-BG","cs-CZ","da-DK","de-DE","el-GR","en-GB","en-US","es-ES","et-EE","fi-FI","fr-FR","hr-HR","hu-HU","it-IT","lt-LT","lv-LV","nb-NO","nl-NL","pl-PL","pt-PT","ro-RO","sk-SK","sl-SI","sv-SE"],"default":"en-GB","example":"en-GB","description":"Locale used for translated region and display labels. Defaults to en-GB."},"required":false,"description":"Locale used for translated region and display labels. Defaults to en-GB.","name":"lang","in":"query"},{"schema":{"type":"string","enum":["library","top_ads","all"],"default":"library","example":"all","description":"Which catalog to list. library covers the EEA, Switzerland, the UK and Turkey. top_ads covers Creative Center's worldwide countries, including the United States and Brazil. all merges both and tags each entry with the surfaces that serve it."},"required":false,"description":"Which catalog to list. library covers the EEA, Switzerland, the UK and Turkey. top_ads covers Creative Center's worldwide countries, including the United States and Brazil. all merges both and tags each entry with the surfaces that serve it.","name":"surface","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/suggestions":{"get":{"operationId":"TikTok Ads Suggestions","tags":["TikTok Ads Library - Public Library"],"summary":"Get TikTok ads search suggestions","description":"Returns advertiser and keyword suggestions matching `query` from the Ads Library. `suggest_type` picks ads (advertisers and keywords) or reports (advertisers only). Use the advertiser ID in Search or Reports.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"shoe","description":"Text to match against advertiser names and ad keywords, for example a brand name. Results come from the Ads Library."},"required":true,"description":"Text to match against advertiser names and ad keywords, for example a brand name. Results come from the Ads Library.","name":"query","in":"query"},{"schema":{"type":"string","enum":["ads","reports"],"default":"ads","example":"ads","description":"Use ads for advertiser and keyword suggestions, or reports for advertiser-only suggestions."},"required":false,"description":"Use ads for advertiser and keyword suggestions, or reports for advertiser-only suggestions.","name":"suggest_type","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"default":20,"example":20,"description":"Maximum number of suggestions to request, 1 to 20."},"required":false,"description":"Maximum number of suggestions to request, 1 to 20.","name":"limit","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/search":{"get":{"operationId":"TikTok Ads Search","tags":["TikTok Ads Library - Public Library"],"summary":"Search TikTok Ads Library ads","description":"Returns public Ads Library ads for `region`, `start_time`, `end_time`, and `query`. `search_type` and `advertiser_id` narrow the match; `sort` orders results. Pages hold up to 12 ads: send `search_id` with `offset` to page.","parameters":[{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","example":"GB","description":"Two-letter region code returned by /regions. Must be a country the Ads Library covers — the EEA, Switzerland, the UK, or Turkey. A country served only by Creative Center's Top Ads, such as the US or Brazil, is rejected; use the Top Ads endpoints for those."},"required":true,"description":"Two-letter region code returned by /regions. Must be a country the Ads Library covers — the EEA, Switzerland, the UK, or Turkey. A country served only by Creative Center's Top Ads, such as the US or Brazil, is rejected; use the Top Ads endpoints for those.","name":"region","in":"query"},{"schema":{"type":"string","minLength":1,"example":1784246400,"description":"Inclusive start of the requested date range as a Unix timestamp in seconds."},"required":true,"description":"Inclusive start of the requested date range as a Unix timestamp in seconds.","name":"start_time","in":"query"},{"schema":{"type":"string","minLength":1,"example":1784879999,"description":"End of the requested date range as a Unix timestamp in seconds. Must be greater than or equal to start_time."},"required":true,"description":"End of the requested date range as a Unix timestamp in seconds. Must be greater than or equal to start_time.","name":"end_time","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"Nike","description":"Search text, selected advertiser name, selected keyword, or exact phrase, according to search_type."},"required":true,"description":"Search text, selected advertiser name, selected keyword, or exact phrase, according to search_type.","name":"query","in":"query"},{"schema":{"type":"string","enum":["free_text","advertiser","keyword","exact_phrase"],"default":"free_text","example":"free_text","description":"How `query` is matched: `free_text` for typed text, `advertiser` for a selected advertiser (needs `advertiser_id`), `keyword` for a selected keyword, `exact_phrase` for the whole phrase."},"required":false,"description":"How `query` is matched: `free_text` for typed text, `advertiser` for a selected advertiser (needs `advertiser_id`), `keyword` for a selected keyword, `exact_phrase` for the whole phrase.","name":"search_type","in":"query"},{"schema":{"type":"string","maxLength":100,"example":"6876453864464188162","description":"Advertiser id from the `/suggestions` response. Required when `search_type` is `advertiser`."},"required":false,"description":"Advertiser id from the `/suggestions` response. Required when `search_type` is `advertiser`.","name":"advertiser_id","in":"query"},{"schema":{"type":"string","enum":["last_shown_desc","last_shown_asc","published_desc","published_asc","impressions_asc","impressions_desc"],"default":"last_shown_desc","example":"last_shown_desc","description":"Sort by last-shown date, publication date, or impressions in ascending or descending order."},"required":false,"description":"Sort by last-shown date, publication date, or impressions in ascending or descending order.","name":"sort","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0,"example":0,"description":"Where the page starts. Page one is 0; for later pages send `search_id` from the previous response alongside it."},"required":false,"description":"Where the page starts. Page one is 0; for later pages send `search_id` from the previous response alongside it.","name":"offset","in":"query"},{"schema":{"type":"string","maxLength":500,"example":"202607241608078AE35A6A142ED66801E4","description":"Cursor from the previous search response. Send it to get the next page, and use the newest one each time."},"required":false,"description":"Cursor from the previous search response. Send it to get the next page, and use the newest one each time.","name":"search_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":12,"default":12,"example":12,"description":"Ads per page, 1 to 12. TikTok caps public search pages at 12."},"required":false,"description":"Ads per page, 1 to 12. TikTok caps public search pages at 12.","name":"limit","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/ads/detail":{"get":{"operationId":"TikTok Ads Detail","tags":["TikTok Ads Library - Public Library"],"summary":"Get TikTok Ads Library ad details","description":"Returns one public Ads Library ad with its media, advertiser, run dates, impressions, and targeting where available. Requires `ad_id` from a search result; `lang` sets the label language.","parameters":[{"schema":{"type":"string","maxLength":40,"pattern":"^\\d+$","example":"1871327475870130","description":"Numeric ad id from a `/search` result or from an Ads Library ad-detail URL. Keep it as a string."},"required":true,"description":"Numeric ad id from a `/search` result or from an Ads Library ad-detail URL. Keep it as a string.","name":"ad_id","in":"query"},{"schema":{"type":"string","enum":["bg-BG","cs-CZ","da-DK","de-DE","el-GR","en-GB","en-US","es-ES","et-EE","fi-FI","fr-FR","hr-HR","hu-HU","it-IT","lt-LT","lv-LV","nb-NO","nl-NL","pl-PL","pt-PT","ro-RO","sk-SK","sl-SI","sv-SE"],"default":"en-GB","example":"en-GB","description":"Locale used for translated region and display labels. Defaults to en-GB."},"required":false,"description":"Locale used for translated region and display labels. Defaults to en-GB.","name":"lang","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/reports":{"get":{"operationId":"TikTok Ads Reports","tags":["TikTok Ads Library - Public Library"],"summary":"Get TikTok Ads Library report","description":"Returns regional distribution and daily publication counts of ads between `start_time` and `end_time`. `region`, `advertiser_id`, and `query` narrow the scope; `lang` sets the label language.","parameters":[{"schema":{"type":"string","default":"all","example":"all","description":"Use all for a global report, or a two-letter region code returned by /regions."},"required":false,"description":"Use all for a global report, or a two-letter region code returned by /regions.","name":"region","in":"query"},{"schema":{"type":"string","minLength":1,"example":1782287985,"description":"Inclusive start of the requested date range as a Unix timestamp in seconds."},"required":true,"description":"Inclusive start of the requested date range as a Unix timestamp in seconds.","name":"start_time","in":"query"},{"schema":{"type":"string","minLength":1,"example":1784879985,"description":"End of the requested date range as a Unix timestamp in seconds. Must be greater than or equal to start_time."},"required":true,"description":"End of the requested date range as a Unix timestamp in seconds. Must be greater than or equal to start_time.","name":"end_time","in":"query"},{"schema":{"type":"string","enum":["bg-BG","cs-CZ","da-DK","de-DE","el-GR","en-GB","en-US","es-ES","et-EE","fi-FI","fr-FR","hr-HR","hu-HU","it-IT","lt-LT","lv-LV","nb-NO","nl-NL","pl-PL","pt-PT","ro-RO","sk-SK","sl-SI","sv-SE"],"default":"en-GB","example":"en-GB","description":"Locale used for translated region and display labels. Defaults to en-GB."},"required":false,"description":"Locale used for translated region and display labels. Defaults to en-GB.","name":"lang","in":"query"},{"schema":{"type":"string","maxLength":100,"example":"6876453864464188162","description":"Advertiser id from the `/suggestions` response. Send it with `query` (the advertiser name) to scope the report to one advertiser."},"required":false,"description":"Advertiser id from the `/suggestions` response. Send it with `query` (the advertiser name) to scope the report to one advertiser.","name":"advertiser_id","in":"query"},{"schema":{"type":"string","maxLength":200,"example":"NIKE Retail B.V.","description":"Advertiser name that goes with `advertiser_id`, as returned by `/suggestions`."},"required":false,"description":"Advertiser name that goes with `advertiser_id`, as returned by `/suggestions`.","name":"query","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/top-ads/filters":{"get":{"operationId":"TikTok Top Ads Filters","tags":["TikTok Ads Library - Top Ads Dashboard"],"summary":"List TikTok Top Ads filters","description":"Returns the countries, industries, objectives, languages, creative patterns, and periods you can use as Top Ads filters. IDs returned here feed Top Ads List. `lang` sets the display language.","parameters":[{"schema":{"type":"string","enum":["en","ja","zh","vi","th","pt","id"],"default":"en","example":"en","description":"Creative Center display language. Defaults to English."},"required":false,"description":"Creative Center display language. Defaults to English.","name":"lang","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/top-ads/suggestions":{"get":{"operationId":"TikTok Top Ads Suggestions","tags":["TikTok Ads Library - Top Ads Dashboard"],"summary":"Get TikTok Top Ads suggestions","description":"Returns brand and product keyword suggestions for `query` from Creative Center Top Ads. `count` (default 5, max 50) sets how many; `country_codes` and `lang` narrow and localize them.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"nike","description":"Brand or product text to get keyword suggestions for, for example a brand name."},"required":true,"description":"Brand or product text to get keyword suggestions for, for example a brand name.","name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":5,"example":5,"description":"Maximum number of suggestions to return, 1 to 50."},"required":false,"description":"Maximum number of suggestions to return, 1 to 50.","name":"count","in":"query"},{"schema":{"type":"string","maxLength":100,"pattern":"^(?:[Aa][Ll][Ll]|[A-Za-z]{2}(?:,[A-Za-z]{2})*)$","example":"NL,AR","description":"ALL or one or more comma-separated country codes returned by the Top Ads filters route."},"required":false,"description":"ALL or one or more comma-separated country codes returned by the Top Ads filters route.","name":"country_codes","in":"query"},{"schema":{"type":"string","enum":["en","ja","zh","vi","th","pt","id"],"default":"en","example":"en","description":"Creative Center display language. Defaults to English."},"required":false,"description":"Creative Center display language. Defaults to English.","name":"lang","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/top-ads/list":{"get":{"operationId":"TikTok Top Ads List","tags":["TikTok Ads Library - Top Ads Dashboard"],"summary":"List TikTok Top Ads","description":"Returns ranked Creative Center Top Ads for `country_codes`. Filter by `period`, `industry_ids`, `objective_ids`, `ad_format`, and `keyword`; `sort` ranks them. Page with `page` and `limit` (max 20), and send `search_id` for keyword searches.","parameters":[{"schema":{"type":"string","maxLength":100,"pattern":"^(?:[Aa][Ll][Ll]|[A-Za-z]{2}(?:,[A-Za-z]{2})*)$","example":"NL,AR","description":"ALL or one or more comma-separated country codes returned by the Top Ads filters route."},"required":true,"description":"ALL or one or more comma-separated country codes returned by the Top Ads filters route.","name":"country_codes","in":"query"},{"schema":{"type":"integer","default":30,"example":30,"description":"Ranking window in days: 7, 30, or 180."},"required":false,"description":"Ranking window in days: 7, 30, or 180.","name":"period","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"One-based page number."},"required":false,"description":"One-based page number.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"default":20,"example":20,"description":"Ads per page, 1 to 20."},"required":false,"description":"Ads per page, 1 to 20.","name":"limit","in":"query"},{"schema":{"type":"string","enum":["for_you","reach","ctr","two_second_view_rate","six_second_view_rate","cvr","likes"],"default":"for_you","example":"ctr","description":"Rank by TikTok's recommendation, reach, CTR, 2-second views, 6-second views, CVR, or likes."},"required":false,"description":"Rank by TikTok's recommendation, reach, CTR, 2-second views, 6-second views, CVR, or likes.","name":"sort","in":"query"},{"schema":{"type":"string","maxLength":500,"pattern":"^\\d+(,\\d+)*$","example":"14103000000","description":"Comma-separated industry IDs returned by the Top Ads filters route."},"required":false,"description":"Comma-separated industry IDs returned by the Top Ads filters route.","name":"industry_ids","in":"query"},{"schema":{"type":"string","maxLength":100,"pattern":"^\\d+(,\\d+)*$","example":"3","description":"Comma-separated objective IDs returned by the Top Ads filters route."},"required":false,"description":"Comma-separated objective IDs returned by the Top Ads filters route.","name":"objective_ids","in":"query"},{"schema":{"type":"string","enum":["spark","non_spark"],"example":"spark","description":"Limit results to Spark or non-Spark ads."},"required":false,"description":"Limit results to Spark or non-Spark ads.","name":"ad_format","in":"query"},{"schema":{"type":"string","enum":["top_1_20","top_21_40","top_41_60","top_61_80","top_81_100"],"example":"top_1_20","description":"Filter by the ad's Top Ads like-rank percentile bucket."},"required":false,"description":"Filter by the ad's Top Ads like-rank percentile bucket.","name":"likes_percentile","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z-]{2,10}$","example":"en","description":"Ad language ID from the Top Ads Filters response, for example `en`."},"required":false,"description":"Ad language ID from the Top Ads Filters response, for example `en`.","name":"ad_language","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"nike","description":"Brand or product keyword to filter Top Ads by. A keyword search returns a `search_id` for later pages."},"required":false,"description":"Brand or product keyword to filter Top Ads by. A keyword search returns a `search_id` for later pages.","name":"keyword","in":"query"},{"schema":{"type":"string","maxLength":500,"description":"Cursor from the previous keyword search response. Send it with `page` to get later pages."},"required":false,"description":"Cursor from the previous keyword search response. Send it with `page` to get later pages.","name":"search_id","in":"query"},{"schema":{"type":"string","enum":["en","ja","zh","vi","th","pt","id"],"default":"en","example":"en","description":"Creative Center display language. Defaults to English."},"required":false,"description":"Creative Center display language. Defaults to English.","name":"lang","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/top-ads/detail":{"get":{"operationId":"TikTok Top Ads Detail","tags":["TikTok Ads Library - Top Ads Analytics"],"summary":"Get TikTok Top Ad analytics","description":"Returns analytics and creative metadata for `material_id` where available: engagement, CTR, budget, country, industry, and objective. Take the ID from Top Ads List or Spotlight.","parameters":[{"schema":{"type":"string","maxLength":40,"pattern":"^\\d+$","example":"7631262985109602311","description":"Top Ads material ID from the Top Ads List or Spotlight response."},"required":true,"description":"Top Ads material ID from the Top Ads List or Spotlight response.","name":"material_id","in":"query"},{"schema":{"type":"string","enum":["en","ja","zh","vi","th","pt","id"],"default":"en","example":"en","description":"Creative Center display language. Defaults to English."},"required":false,"description":"Creative Center display language. Defaults to English.","name":"lang","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/top-ads/recommendations":{"get":{"operationId":"TikTok Top Ads Recommendations","tags":["TikTok Ads Library - Top Ads Analytics"],"summary":"List related TikTok Top Ads","description":"Returns Top Ads related to `material_id`. Requires the ad's full numeric `industry_id` and comma-separated `country_codes`; `lang` sets the display language.","parameters":[{"schema":{"type":"string","maxLength":40,"pattern":"^\\d+$","example":"7631262985109602311","description":"Top Ads material ID from the Top Ads List or Spotlight response."},"required":true,"description":"Top Ads material ID from the Top Ads List or Spotlight response.","name":"material_id","in":"query"},{"schema":{"type":"string","maxLength":20,"pattern":"^\\d+$","example":"23110000000","description":"Full numeric industry ID of the selected Top Ad, such as one from the Top Ads Filters response."},"required":true,"description":"Full numeric industry ID of the selected Top Ad, such as one from the Top Ads Filters response.","name":"industry_id","in":"query"},{"schema":{"type":"string","maxLength":100,"pattern":"^(?:[Aa][Ll][Ll]|[A-Za-z]{2}(?:,[A-Za-z]{2})*)$","example":"NL,AR","description":"ALL or one or more comma-separated country codes returned by the Top Ads filters route."},"required":true,"description":"ALL or one or more comma-separated country codes returned by the Top Ads filters route.","name":"country_codes","in":"query"},{"schema":{"type":"string","enum":["en","ja","zh","vi","th","pt","id"],"default":"en","example":"en","description":"Creative Center display language. Defaults to English."},"required":false,"description":"Creative Center display language. Defaults to English.","name":"lang","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/top-ads/keyframes":{"get":{"operationId":"TikTok Top Ads Keyframes","tags":["TikTok Ads Library - Top Ads Analytics"],"summary":"List TikTok Top Ad keyframes","description":"Returns per-second analysis and highlighted moments for the video of `material_id`. `metric` selects CTR, CVR, clicks, conversions, or viewer retention.","parameters":[{"schema":{"type":"string","maxLength":40,"pattern":"^\\d+$","example":"7631262985109602311","description":"Top Ads material ID from the Top Ads List or Spotlight response."},"required":true,"description":"Top Ads material ID from the Top Ads List or Spotlight response.","name":"material_id","in":"query"},{"schema":{"type":"string","enum":["retain_ctr","retain_cvr","click_cnt","convert_cnt","play_retain_cnt"],"default":"retain_ctr","example":"retain_ctr","description":"Video-time metric: CTR, CVR, clicks, conversions, or viewer retention."},"required":false,"description":"Video-time metric: CTR, CVR, clicks, conversions, or viewer retention.","name":"metric","in":"query"},{"schema":{"type":"string","enum":["en","ja","zh","vi","th","pt","id"],"default":"en","example":"en","description":"Creative Center display language. Defaults to English."},"required":false,"description":"Creative Center display language. Defaults to English.","name":"lang","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/top-ads/percentile":{"get":{"operationId":"TikTok Top Ads Percentile","tags":["TikTok Ads Library - Top Ads Analytics"],"summary":"Get TikTok Top Ad percentile","description":"Returns the benchmark percentile of `material_id` for one `metric`. `period` sets the comparison window in days (7, 30, or 180; default 180).","parameters":[{"schema":{"type":"string","maxLength":40,"pattern":"^\\d+$","example":"7631262985109602311","description":"Top Ads material ID from the Top Ads List or Spotlight response."},"required":true,"description":"Top Ads material ID from the Top Ads List or Spotlight response.","name":"material_id","in":"query"},{"schema":{"type":"string","enum":["retain_ctr","retain_cvr","click_cnt","convert_cnt","play_retain_cnt"],"default":"retain_ctr","example":"retain_ctr","description":"Video-time metric: CTR, CVR, clicks, conversions, or viewer retention."},"required":false,"description":"Video-time metric: CTR, CVR, clicks, conversions, or viewer retention.","name":"metric","in":"query"},{"schema":{"type":"integer","default":180,"example":180,"description":"Comparison window in days: 7, 30, or 180."},"required":false,"description":"Comparison window in days: 7, 30, or 180.","name":"period","in":"query"},{"schema":{"type":"string","enum":["en","ja","zh","vi","th","pt","id"],"default":"en","example":"en","description":"Creative Center display language. Defaults to English."},"required":false,"description":"Creative Center display language. Defaults to English.","name":"lang","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/tiktok-ads/top-ads/spotlight":{"get":{"operationId":"TikTok Top Ads Spotlight","tags":["TikTok Ads Library - Top Ads Spotlight"],"summary":"List TikTok Top Ads Spotlight","description":"Returns Creative Center Spotlight creative records. Page with `page` and `limit` (max 20); `lang` sets the display language. No other input is required.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"One-based Spotlight page number."},"required":false,"description":"One-based Spotlight page number.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"default":20,"example":20,"description":"Spotlight records per page, 1 to 20."},"required":false,"description":"Spotlight records per page, 1 to 20.","name":"limit","in":"query"},{"schema":{"type":"string","enum":["en","ja","zh","vi","th","pt","id"],"default":"en","example":"en","description":"Creative Center display language. Defaults to English."},"required":false,"description":"Creative Center display language. Defaults to English.","name":"lang","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tiktok-ads","x-toolzer-verified":true}},"/v1/http/fetch":{"post":{"operationId":"HTTP Fetch","tags":["HTTP"],"summary":"Fetch a URL","description":"Sends a GET or POST request to the required public HTTP(S) `url` from the JSON body. Optional fields configure headers, query parameters, cookies, body, timeout, proxy location, and retries. The target status is returned in `data.status`; response bodies are strings limited to 10 MiB.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","example":"https://example.com/products?page=1","description":"Public HTTP(S) URL. Private, reserved, link-local, and metadata destinations are rejected."},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"],"default":"GET","example":"GET","description":"HTTP method sent to the target URL."},"headers":{"type":"object","additionalProperties":{"type":"string"},"default":{},"example":{"Accept":"text/html"},"description":"Headers sent to the target. Hop-by-hop and proxy-control headers are removed."},"params":{"type":"object","additionalProperties":{"type":"string"},"default":{},"example":{"page":"1","sort":"newest"},"description":"Query parameters appended to the target URL."},"cookies":{"type":"object","additionalProperties":{"type":"string"},"default":{},"example":{"consent":"yes"},"description":"Caller-managed cookies sent with this stateless request."},"body":{"type":"string","example":"{\"query\":\"toolzer\"}","description":"String request body for POST requests, up to 10 MiB."},"timeout_ms":{"type":"integer","minimum":1000,"maximum":60000,"default":30000,"example":30000,"description":"Total request timeout in milliseconds."},"proxy_tier":{"type":"string","enum":["datacenter","residential"],"default":"datacenter","example":"datacenter","description":"Managed proxy tier. Direct/no-proxy requests are not available."},"country":{"type":"string","pattern":"^[A-Z]{2}$","example":"US","description":"Optional uppercase ISO-2 proxy country."},"city":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-z0-9]+(?:[.-][a-z0-9]+)*$","example":"new.york","description":"Optional lowercase proxy city, with spaces written as dots."},"retries":{"type":"integer","minimum":0,"maximum":3,"default":1,"example":1,"description":"Retries for blocked or retryable transport failures."},"retry_on_5xx":{"type":"boolean","default":false,"example":false,"description":"Retry transient Cloudflare 502/503/504 responses."},"browser_profile":{"type":"string","enum":["chrome","firefox","safari","edge"],"example":"chrome","description":"Pin the browser identity (TLS fingerprint and header profile). Omit to let retries rotate through the profiles automatically, which is what clears most challenges."},"session_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$","example":"cart-42","description":"Reuse cookies and a pinned proxy exit across calls, for multi-step flows. Scoped to your own namespace; omit for a stateless request."},"session_ttl":{"type":"integer","minimum":60,"maximum":7200,"example":1200,"description":"Seconds a session survives without use. Ignored without session_id."},"reset_session":{"type":"boolean","default":false,"example":false,"description":"Discard the stored session before this call. Ignored without session_id."}},"required":["url"]}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"status":{"type":"integer","minimum":100,"maximum":599,"example":200,"description":"HTTP status returned by the target URL."},"headers":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"cookies":{"type":"object","additionalProperties":{"type":"string"}},"body":{"type":"string"},"body_truncated":{"type":"boolean","example":false,"description":"True when the target body exceeded the worker's 10 MiB limit."},"meta":{"type":"object","properties":{"duration_ms":{"type":"number","minimum":0,"example":842.17},"retried":{"type":"boolean","example":false},"browser_profile":{"type":"string","example":"firefox","description":"Browser identity that produced this response. Differs from the first attempt when a retry rotated it."},"blocked":{"type":"boolean","example":false,"description":"Whether the target challenged the final attempt."},"session_state":{"type":"string","enum":["none","created","reused","reset"],"example":"none","description":"What happened to the session this call used."},"cookies_updated":{"type":"boolean","example":false,"description":"Whether the target set or changed cookies stored on the session."}},"required":["duration_ms","retried","browser_profile","blocked","session_state","cookies_updated"]}},"required":["status","headers","cookies","body","body_truncated","meta"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"http","x-toolzer-verified":true}},"/v1/web/contacts":{"post":{"operationId":"Web Contacts","tags":["Web"],"summary":"Find website contact details","description":"Fetches the given page, follows that site's own contact, imprint, about and team links up to `max_pages`, and returns the emails, phone numbers and social profiles published across them. One site per request; the whole call is bounded at 55 seconds and 4 MiB.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","example":"https://www.example-dental.com","description":"The business's own website. Any page works; discovery starts from the URL you send and follows that site's own contact, about, imprint, and team links."},"max_pages":{"type":"integer","minimum":1,"maximum":6,"default":6,"example":6,"description":"Pages to fetch, the starting URL included. Lower it to cut bandwidth on a large batch; the first page is always the one you sent."},"proxy_tier":{"type":"string","enum":["datacenter","residential"],"default":"datacenter","example":"datacenter","description":"Managed proxy tier. Datacenter serves ordinary business sites; residential is for the rare site that refuses it."},"country":{"type":"string","pattern":"^[A-Z]{2}$","example":"US","description":"Optional uppercase ISO-2 proxy country. Worth setting for a site that serves different contact details per region."},"timeout_ms":{"type":"integer","minimum":1000,"maximum":30000,"default":15000,"example":15000,"description":"Per-page timeout. The whole call is bounded separately at 55s."},"browser_profile":{"type":"string","enum":["chrome","firefox","safari","edge"],"example":"chrome","description":"Pin the TLS and header identity. Omit to let retries rotate it, which is what clears most refusals."}},"required":["url"]}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"url":{"type":"string","example":"https://www.example-dental.com/","description":"The first page's URL after redirects."},"domain":{"type":"string","example":"example-dental.com"},"emails":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string","example":"info@example-dental.com"},"kind":{"type":"string","enum":["role","personal"],"example":"role","description":"`role` is a shared mailbox (info@, contact@, sales@). `personal` is anything else — usually a named person, and the higher-value contact."},"on_domain":{"type":"boolean","example":true,"description":"True when the address sits on the site's own domain. A false here is usually a free mailbox the business published itself, which is still its address."},"source":{"type":"string","enum":["mailto","jsonld","cloudflare","obfuscated","text"],"example":"mailto","description":"How the address was published on the page it came from."},"source_url":{"type":"string","example":"https://www.example-dental.com/contact","description":"The page this address was read from."}},"required":["email","kind","on_domain","source","source_url"]},"description":"Deduplicated, best first: own-domain addresses before off-domain ones, then by how the address was published."},"phones":{"type":"array","items":{"type":"object","properties":{"number":{"type":"string","example":"+1 512-894-6095","description":"The number exactly as the business published it."},"digits":{"type":"string","example":"+15128946095","description":"The same number reduced to digits, with a leading `+` only when the site published one. Not dialled or validated against a numbering plan."},"source":{"type":"string","enum":["tel_link","jsonld"],"example":"tel_link","description":"Only machine-readable publications are returned — a `tel:` link or structured data. Numbers scraped out of prose are not, because prose numbers are as often a fax, a price, or a licence number."},"source_url":{"type":"string","example":"https://www.example-dental.com/contact"}},"required":["number","digits","source","source_url"]}},"socials":{"type":"object","properties":{"linkedin":{"type":"string","nullable":true,"example":"https://www.linkedin.com/company/example-dental","description":"A company page is preferred over a personal profile, because that is what the decision-maker lookup takes."},"instagram":{"type":"string","nullable":true},"facebook":{"type":"string","nullable":true},"x":{"type":"string","nullable":true}},"required":["linkedin","instagram","facebook","x"]},"pages":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","example":"https://www.example-dental.com/contact"},"kind":{"type":"string","enum":["home","contact","imprint","about","team","legal","other"],"example":"contact"},"status":{"type":"integer","minimum":100,"maximum":599,"example":200},"bytes":{"type":"integer","minimum":0,"example":135580}},"required":["url","kind","status","bytes"]},"description":"Every page that answered, in the order fetched, with the status the site returned. A page whose request failed outright is left out; `meta.truncated` says whether the crawl also stopped early."},"meta":{"type":"object","properties":{"bytes_fetched":{"type":"integer","minimum":0,"example":300124},"duration_ms":{"type":"number","minimum":0,"example":4210.5},"truncated":{"type":"boolean","example":false,"description":"True when the crawl stopped on the byte budget or the time budget rather than because it ran out of pages worth fetching."},"browser_profile":{"type":"string","example":"chrome"}},"required":["bytes_fetched","duration_ms","truncated","browser_profile"]}},"required":["url","domain","emails","phones","socials","pages","meta"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":6,"x-audience":"customer","x-status":"live","x-product":"web","x-toolzer-verified":true}},"/v1/email/verify":{"post":{"operationId":"Email Verify","tags":["Email"],"summary":"Verify a batch of email addresses","description":"Returns `verified`, `accept_all` or `unverified` for each address, with the reason. Addresses settled by syntax, a throwaway domain or a domain that can receive no mail are answered without spending a check; `meta.checks_spent` reports what the batch cost.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"string","format":"email"},"minItems":1,"maxItems":25,"example":["info@example-dental.com","dr.smith@example-dental.com"],"description":"Up to 25 addresses. Duplicates are collapsed, and addresses on one domain share a single domain check."},"source":{"type":"string","enum":["published","guessed"],"default":"published","example":"published","description":"Where the addresses came from. `published` means the business printed them itself — a free-provider mailbox is then a real contact. `guessed` means they were generated from a name and a domain, where a free-provider mailbox cannot be right and is rejected without spending a check."}},"required":["emails"]}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"results":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string","example":"info@example-dental.com"},"status":{"type":"string","enum":["verified","accept_all","unverified"],"example":"verified","description":"`verified` means a mailbox was confirmed. `accept_all` means the domain answers yes to every address, including ones that cannot exist, so no mailbox on it can be confirmed by anyone. `unverified` is everything else — read `reason` for which."},"reason":{"type":"string","enum":["mailbox_confirmed","domain_accepts_all","mailbox_rejected","malformed","disposable_domain","no_mail_exchanger","consumer_domain_guess","verification_unavailable"],"example":"mailbox_confirmed","description":"Why this address got this status. `verification_unavailable` means nobody could answer, which is not the same as the address being bad."},"kind":{"type":"string","enum":["role","personal"],"example":"role","description":"`role` is a shared mailbox (info@, sales@). Deliverable and often the only address a small business publishes, but it is not a named person."},"provider":{"type":"string","enum":["business","consumer","disposable"],"example":"business","description":"Whether the domain is the organisation's own, a free consumer mailbox, or a throwaway service."}},"required":["email","status","reason","kind","provider"]}},"meta":{"type":"object","properties":{"checks_spent":{"type":"integer","minimum":0,"example":2,"description":"Addresses that cost a verification check. Anything settled by syntax, a throwaway domain, or a domain with nowhere to deliver costs nothing, and neither does a domain that accepts everything."},"duration_ms":{"type":"number","minimum":0,"example":1840.2}},"required":["checks_spent","duration_ms"]}},"required":["results","meta"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":38,"x-audience":"customer","x-status":"live","x-product":"email","x-toolzer-verified":true}},"/v1/media/transcribe":{"post":{"operationId":"Media Transcribe","tags":["Media"],"summary":"Transcribe a media file","description":"Transcribes one video or audio URL and returns the text, per-segment and per-word timestamps, and the detected language. A creative with no speech returns an empty transcript with `has_audio: false` rather than an error.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscribeRequest"}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Transcript"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":5,"x-audience":"customer","x-status":"live","x-product":"media","x-toolzer-verified":true}},"/v1/media/scenes":{"post":{"operationId":"Media Scenes","tags":["Media"],"summary":"Detect scenes in a video","description":"Returns the cut list for one video URL: start, end and duration per scene, plus a measured motion score and its class. Use it with a transcript to see which claim lands on which shot.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenesRequest"}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SceneList"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":5,"x-audience":"customer","x-status":"live","x-product":"media","x-toolzer-verified":true}},"/v1/ai/ad-teardown":{"post":{"operationId":"AI Ad Teardown","tags":["AI"],"summary":"Tear down one video ad","description":"Turns a transcript, a cut list and the published ad copy into a structured teardown: the first-3-second hook, the script's stages, the offer, the call to action and the claims made. Takes no media and returns only what the supplied evidence supports.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeardownRequest"}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Teardown"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":25,"x-audience":"customer","x-status":"live","x-product":"ai","x-toolzer-verified":false}},"/v1/linktree/page":{"get":{"operationId":"Get Linktree Page","tags":["Linktree"],"summary":"Get a Linktree page","description":"Returns profile metadata, links, and social links for the required public Linktree `url`.","parameters":[{"schema":{"type":"string","format":"uri","example":"https://linktr.ee/spotify","description":"Full public Linktree profile URL."},"required":true,"description":"Full public Linktree profile URL.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"username":{"type":"string","example":"spotify"},"page_title":{"type":"string","nullable":true,"example":"Spotify"},"description":{"type":"string","nullable":true},"avatar_url":{"type":"string","nullable":true},"is_verified":{"type":"boolean"},"page_locked":{"type":"boolean","description":"True when the profile is password-protected; `links` will be empty until unlocked."},"links":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"type":{"type":"string","nullable":true},"position":{"type":"number","nullable":true},"locked":{"type":"boolean"}},"required":["id","title","url","type","position","locked"]}},"social_links":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}]},"type":{"type":"string"},"url":{"type":"string"}},"additionalProperties":{"nullable":true}}}},"required":["username","page_title","description","avatar_url","is_verified","page_locked","links","social_links"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"linktree","x-toolzer-verified":true}},"/v1/rednote/feed":{"get":{"operationId":"Get RedNote Web Feed","tags":["RedNote - Feed"],"summary":"Get explore feed sample","description":"Get a random sample of RedNote's public explore feed. Each card includes the token required to get that note's details.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedNoteFeedResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":true}},"/v1/rednote/note":{"get":{"operationId":"Get RedNote Web Note","tags":["RedNote - Posts"],"summary":"Get note details","description":"Get a public RedNote note using the ID and token from the same feed card. A missing note body returns `data: null`.","parameters":[{"schema":{"type":"string","example":"64a1b2c3d4e5f60718293a4b","description":"A note id from a `/v1/rednote/feed` card."},"required":true,"description":"A note id from a `/v1/rednote/feed` card.","name":"note_id","in":"query"},{"schema":{"type":"string","example":"AB1cd2EF3gh4IJ5kl6MN7op8QR9st0UV_wxyz1234567890AB==","description":"The `xsec_token` from the same feed card as `note_id`."},"required":true,"description":"The `xsec_token` from the same feed card as `note_id`.","name":"xsec_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedNoteNoteResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":true}},"/v1/rednote/profiles/info":{"get":{"operationId":"getRedNoteProfileV2","tags":["RedNote - Profiles"],"summary":"Get profile","description":"Get a RedNote user's public profile, account counts, and note tabs. `data: null` means profile content was unavailable.","parameters":[{"schema":{"type":"string","example":"5f1a2b3c4d5e6f708192a3b4","description":"User ID from a feed or note card."},"required":true,"description":"User ID from a feed or note card.","name":"user_id","in":"query"},{"schema":{"type":"string","example":"AB1cd2EF3gh4IJ5kl6MN7op8QR9st0UV_wxyz1234567890AB==","description":"Token from the same card as `user_id`."},"required":true,"description":"Token from the same card as `user_id`.","name":"xsec_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedNoteV2ProfileResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":true}},"/v1/rednote/products/detail":{"get":{"operationId":"getRedNoteProductV2","tags":["RedNote - Products"],"summary":"Get product details","description":"Get a RedNote product's name, displayed price, seller details, and additional product data. An unknown `item_id` returns `data: null`.","parameters":[{"schema":{"type":"string","example":"64a1b2c3d4e5f60718293a4b","description":"24-character hexadecimal SKU ID from a product URL or share link."},"required":true,"description":"24-character hexadecimal SKU ID from a product URL or share link.","name":"item_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedNoteV2ProductResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":true}},"/v1/weibo/posts/detail":{"get":{"operationId":"getWeiboPostDetailV2","tags":["Weibo - Posts"],"summary":"Get post details","description":"Get a public Weibo post by numeric ID. Video posts include available stream URLs and duration.","parameters":[{"schema":{"type":"string","example":"5327962377289859","description":"The all-digit post id from the post's URL."},"required":true,"description":"The all-digit post id from the post's URL.","name":"mid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WeiboV2PostDetailResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":true}},"/v1/weibo/trends/hot-search":{"get":{"operationId":"getWeiboHotSearchV2","tags":["Weibo - Trends"],"summary":"Get hot search board","description":"Get the current Weibo hot-search board. Use `kind` to distinguish ranked entries from pinned and paid placements.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WeiboV2HotSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":true}},"/v1/weibo/posts/comments":{"get":{"operationId":"getWeiboPostCommentsV2","tags":["Weibo - Posts"],"summary":"List post comments","description":"List the first page of comments for a Weibo post. `total_number` may exceed the returned comments; `next_cursor_hint` is not a supported pagination cursor.","parameters":[{"schema":{"type":"string","example":"5327962377289859","description":"The post whose comments to return."},"required":true,"description":"The post whose comments to return.","name":"mid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WeiboV2CommentsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":true}},"/v1/weibo/posts/likes":{"get":{"operationId":"getWeiboPostLikesV2","tags":["Weibo - Posts"],"summary":"List post likers","description":"List accounts that liked a Weibo post. `attitude_type` is the platform's numeric reaction code.","parameters":[{"schema":{"type":"string","example":"5327962377289859","description":"The post whose likers to return."},"required":true,"description":"The post whose likers to return.","name":"mid","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Weibo's own page number for this list. Only page 1 has been measured against a real post, so treat a deep page as unverified rather than guaranteed."},"required":false,"description":"Weibo's own page number for this list. Only page 1 has been measured against a real post, so treat a deep page as unverified rather than guaranteed.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WeiboV2LikesResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":true}},"/v1/weibo/profiles/info":{"get":{"operationId":"getWeiboProfileInfoV2","tags":["Weibo - Profiles"],"summary":"Get profile","description":"Get a public Weibo profile and its follower, following, and post counts.","parameters":[{"schema":{"type":"string","example":"1699432410","description":"The all-digit user id from the profile's URL."},"required":true,"description":"The all-digit user id from the profile's URL.","name":"uid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WeiboV2ProfileResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":true}},"/v1/weibo/search/topics":{"get":{"operationId":"searchWeiboTopicsV2","tags":["Weibo - Search"],"summary":"Search topics","description":"Search Weibo topics by keyword. An empty page means there are no more results.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"example":"奥运会","description":"The text to match topics against."},"required":true,"description":"The text to match topics against.","name":"keyword","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Weibo's own page number for this list. The response carries no total and no end-of-list marker, so the only way to know you have reached the end is a page that comes back empty."},"required":false,"description":"Weibo's own page number for this list. The response carries no total and no end-of-list marker, so the only way to know you have reached the end is a page that comes back empty.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WeiboV2SearchTopicsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":true}},"/v1/weibo/search/users":{"get":{"operationId":"searchWeiboUsersV2","tags":["Weibo - Search"],"summary":"Search profiles","description":"Search Weibo profiles by keyword. The response is a single set of suggested matches.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"example":"新华社","description":"The text to match profiles against."},"required":true,"description":"The text to match profiles against.","name":"q","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WeiboV2SearchUsersResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":true}},"/v1/weibo/videos/user":{"get":{"operationId":"getWeiboUserVideosV2","tags":["Weibo - Videos"],"summary":"List profile videos","description":"List videos posted by a Weibo profile. Send `next_cursor` as `cursor` to continue the list.","parameters":[{"schema":{"type":"string","example":"1699432410","description":"The profile whose videos to return."},"required":true,"description":"The profile whose videos to return.","name":"uid","in":"query"},{"schema":{"type":"string","default":"0","example":"0","description":"Weibo's own opaque cursor, NOT a page number. Send `0` for the first call and then the `next_cursor` a previous response returned, verbatim — computing one yourself will not walk the list."},"required":false,"description":"Weibo's own opaque cursor, NOT a page number. Send `0` for the first call and then the `next_cursor` a previous response returned, verbatim — computing one yourself will not walk the list.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WeiboV2VideosUserResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":true}},"/v1/google-ads/advertisers/search":{"get":{"operationId":"Google Ads Search Advertisers","tags":["Google Ads - Advertisers"],"summary":"Search advertisers","description":"Returns advertisers matching `query`. Optionally filter by `country`, choose ordering, set the report type, and continue with `page_token`.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"nike","description":"Free-text advertiser name search."},"required":true,"description":"Free-text advertiser name search.","name":"query","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","example":"US","description":"Two-letter ISO-3166 country code to narrow advertiser search results."},"required":false,"description":"Two-letter ISO-3166 country code to narrow advertiser search results.","name":"country","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20,"example":20,"description":"Page size, 1-100."},"required":false,"description":"Page size, 1-100.","name":"num_results","in":"query"},{"schema":{"type":"string","maxLength":2000,"example":"CgoAP7zmn3d1sSI3EhC2nPpAstEYXdMmYakAAAAAGgn8+G5U+DNfb48=","description":"Opaque cursor from a previous response's next_page_token. Omit for the first page."},"required":false,"description":"Opaque cursor from a previous response's next_page_token. Omit for the first page.","name":"page_token","in":"query"},{"schema":{"type":"string","enum":["unknown","revenue","name","creative_count","impressions"],"default":"unknown","example":"unknown","description":"unknown keeps Google's default relevance ordering."},"required":false,"description":"unknown keeps Google's default relevance ordering.","name":"sort_key","in":"query"},{"schema":{"type":"boolean","nullable":true,"default":true,"example":true},"required":false,"name":"descending","in":"query"},{"schema":{"type":"string","enum":["all","political"],"default":"all","example":"all","description":"all covers every advertiser/creative; political scopes to Google's separate election-ads transparency report."},"required":false,"description":"all covers every advertiser/creative; political scopes to Google's separate election-ads transparency report.","name":"report_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"1":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}},"2":{"type":"string"},"3":{"type":"string"}},"required":["1"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-ads","x-toolzer-verified":true}},"/v1/google-ads/advertisers/get":{"get":{"operationId":"Google Ads Get Advertiser","tags":["Google Ads - Advertisers"],"summary":"Get advertiser details","description":"Returns one advertiser record, including verification and disclosure information. Requires `advertiser_id`; `report_type` is optional.","parameters":[{"schema":{"type":"string","pattern":"^AR\\d+$","example":"AR13536189912721653761","description":"Advertiser id, always AR-prefixed, from a search or suggestion result."},"required":true,"description":"Advertiser id, always AR-prefixed, from a search or suggestion result.","name":"advertiser_id","in":"query"},{"schema":{"type":"string","enum":["all","political"],"default":"all","example":"all","description":"all covers every advertiser/creative; political scopes to Google's separate election-ads transparency report."},"required":false,"description":"all covers every advertiser/creative; political scopes to Google's separate election-ads transparency report.","name":"report_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"1":{"type":"object","additionalProperties":{"nullable":true}}},"required":["1"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-ads","x-toolzer-verified":true}},"/v1/google-ads/creatives/search":{"get":{"operationId":"Google Ads Search Creatives","tags":["Google Ads - Creatives"],"summary":"Search creatives","description":"Returns creatives for `advertiser_id` or creatives linking to `domain`; provide one of those fields. Supports format, surface, ordering, report-type, and pagination filters.","parameters":[{"schema":{"type":"string","pattern":"^AR\\d+$","example":"AR13536189912721653761","description":"List creatives for one advertiser. Required unless domain is set."},"required":false,"description":"List creatives for one advertiser. Required unless domain is set.","name":"advertiser_id","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":253,"example":"nike.com","description":"List creatives linking to this domain, across every advertiser. Required unless advertiser_id is set."},"required":false,"description":"List creatives linking to this domain, across every advertiser. Required unless advertiser_id is set.","name":"domain","in":"query"},{"schema":{"type":"string","enum":["unknown","text","image","video"],"default":"unknown","example":"unknown","description":"unknown returns every format."},"required":false,"description":"unknown returns every format.","name":"ad_format","in":"query"},{"schema":{"type":"string","maxLength":100,"example":"search,youtube","description":"Comma-separated platform filter: play, maps, search, shopping, youtube. Omit for every surface."},"required":false,"description":"Comma-separated platform filter: play, maps, search, shopping, youtube. Omit for every surface.","name":"surfaces","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20,"example":20,"description":"Page size, 1-100."},"required":false,"description":"Page size, 1-100.","name":"num_results","in":"query"},{"schema":{"type":"string","maxLength":2000,"example":"CgoAP7zmn3d1sSI3EhC2nPpAstEYXdMmYakAAAAAGgn8+G5U+DNfb48=","description":"Opaque cursor from a previous response's next_page_token. Omit for the first page."},"required":false,"description":"Opaque cursor from a previous response's next_page_token. Omit for the first page.","name":"page_token","in":"query"},{"schema":{"type":"string","enum":["unknown","revenue","impressions","last_activity_date"],"default":"unknown","example":"unknown"},"required":false,"name":"sort_key","in":"query"},{"schema":{"type":"boolean","nullable":true,"default":true,"example":true},"required":false,"name":"descending","in":"query"},{"schema":{"type":"string","enum":["all","political"],"default":"all","example":"all","description":"all covers every advertiser/creative; political scopes to Google's separate election-ads transparency report."},"required":false,"description":"all covers every advertiser/creative; political scopes to Google's separate election-ads transparency report.","name":"report_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"1":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}},"2":{"type":"string"},"4":{"type":"string"},"5":{"type":"string"}},"required":["1"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-ads","x-toolzer-verified":true}},"/v1/google-ads/creatives/get":{"get":{"operationId":"Google Ads Get Creative","tags":["Google Ads - Creatives"],"summary":"Get creative details","description":"Returns one creative record with available media, activity, targeting, and impression information. Requires `advertiser_id` and `creative_id`.","parameters":[{"schema":{"type":"string","pattern":"^AR\\d+$","example":"AR13536189912721653761","description":"Advertiser id, always AR-prefixed, from a search or suggestion result."},"required":true,"description":"Advertiser id, always AR-prefixed, from a search or suggestion result.","name":"advertiser_id","in":"query"},{"schema":{"type":"string","pattern":"^CR\\d+$","example":"CR18300947740944760833","description":"Creative id, always CR-prefixed, from a creative search result."},"required":true,"description":"Creative id, always CR-prefixed, from a creative search result.","name":"creative_id","in":"query"},{"schema":{"type":"string","enum":["all","political"],"default":"all","example":"all","description":"all covers every advertiser/creative; political scopes to Google's separate election-ads transparency report."},"required":false,"description":"all covers every advertiser/creative; political scopes to Google's separate election-ads transparency report.","name":"report_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"1":{"type":"object","additionalProperties":{"nullable":true}}},"required":["1"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-ads","x-toolzer-verified":true}},"/v1/google-ads/suggestions":{"get":{"operationId":"Google Ads Search Suggestions","tags":["Google Ads - Advertisers"],"summary":"Search suggestions","description":"Returns matching advertiser and domain suggestions for `query`. Optional limits control advertiser and domain result counts.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"nike","description":"Autocomplete text for matching advertisers and domains."},"required":true,"description":"Autocomplete text for matching advertisers and domains.","name":"query","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":20,"default":5,"example":5},"required":false,"name":"num_advertiser_results","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":20,"default":5,"example":5},"required":false,"name":"num_domain_results","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"Paginates the domain-suggestion half of the response only."},"required":false,"description":"Paginates the domain-suggestion half of the response only.","name":"domain_page_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"1":{"type":"array","items":{"type":"object","additionalProperties":{"nullable":true}}},"3":{"type":"string"}},"required":["1"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-ads","x-toolzer-verified":true}},"/v1/app-store/app":{"get":{"operationId":"Get App Store App","tags":["App Store"],"summary":"Get app details","description":"Returns App Store metadata for a numeric app ID and required storefront. `data` is null when Apple has no matching app.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,20}$","example":"324684580","description":"Numeric App Store app ID."},"required":true,"description":"Numeric App Store app ID.","name":"app_id","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","example":"US","description":"Two-letter App Store storefront code."},"required":true,"description":"Two-letter App Store storefront code.","name":"country","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"app_id":{"type":"string"},"name":{"type":"string"},"bundle_id":{"type":"string","nullable":true},"developer_id":{"type":"string","nullable":true},"developer_name":{"type":"string","nullable":true},"seller_name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"price":{"type":"number","nullable":true},"formatted_price":{"type":"string","nullable":true},"currency":{"type":"string","nullable":true},"average_rating":{"type":"number","nullable":true},"rating_count":{"type":"number","nullable":true},"primary_genre":{"type":"string","nullable":true},"genres":{"type":"array","items":{"type":"string"}},"version":{"type":"string","nullable":true},"release_date":{"type":"string","nullable":true},"current_version_release_date":{"type":"string","nullable":true},"release_notes":{"type":"string","nullable":true},"minimum_os_version":{"type":"string","nullable":true},"content_advisory_rating":{"type":"string","nullable":true},"languages":{"type":"array","items":{"type":"string"}},"supported_devices":{"type":"array","items":{"type":"string"}},"file_size_bytes":{"type":"string","nullable":true},"artwork_url":{"type":"string","nullable":true},"screenshots":{"type":"array","items":{"type":"string"}},"ipad_screenshots":{"type":"array","items":{"type":"string"}},"appletv_screenshots":{"type":"array","items":{"type":"string"}},"app_store_url":{"type":"string","nullable":true},"developer_url":{"type":"string","nullable":true},"seller_url":{"type":"string","nullable":true}},"required":["app_id","name","bundle_id","developer_id","developer_name","seller_name","description","price","formatted_price","currency","average_rating","rating_count","primary_genre","genres","version","release_date","current_version_release_date","release_notes","minimum_os_version","content_advisory_rating","languages","supported_devices","file_size_bytes","artwork_url","screenshots","ipad_screenshots","appletv_screenshots","app_store_url","developer_url","seller_url"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"app-store","x-toolzer-verified":true}},"/v1/app-store/search":{"get":{"operationId":"Search App Store Apps","tags":["App Store"],"summary":"Search apps","description":"Returns ranked App Store software search results for required text and storefront.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"weather radar","description":"App Store search text."},"required":true,"description":"App Store search text.","name":"q","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","example":"US","description":"Two-letter App Store storefront code."},"required":true,"description":"Two-letter App Store storefront code.","name":"country","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"default":50,"example":50,"description":"Maximum ranked search results to return."},"required":false,"description":"Maximum ranked search results to return.","name":"limit","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"query":{"type":"string"},"country":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"app_id":{"type":"string"},"name":{"type":"string"},"bundle_id":{"type":"string","nullable":true},"developer_id":{"type":"string","nullable":true},"developer_name":{"type":"string","nullable":true},"seller_name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"price":{"type":"number","nullable":true},"formatted_price":{"type":"string","nullable":true},"currency":{"type":"string","nullable":true},"average_rating":{"type":"number","nullable":true},"rating_count":{"type":"number","nullable":true},"primary_genre":{"type":"string","nullable":true},"genres":{"type":"array","items":{"type":"string"}},"version":{"type":"string","nullable":true},"release_date":{"type":"string","nullable":true},"current_version_release_date":{"type":"string","nullable":true},"release_notes":{"type":"string","nullable":true},"minimum_os_version":{"type":"string","nullable":true},"content_advisory_rating":{"type":"string","nullable":true},"languages":{"type":"array","items":{"type":"string"}},"supported_devices":{"type":"array","items":{"type":"string"}},"file_size_bytes":{"type":"string","nullable":true},"artwork_url":{"type":"string","nullable":true},"screenshots":{"type":"array","items":{"type":"string"}},"ipad_screenshots":{"type":"array","items":{"type":"string"}},"appletv_screenshots":{"type":"array","items":{"type":"string"}},"app_store_url":{"type":"string","nullable":true},"developer_url":{"type":"string","nullable":true},"seller_url":{"type":"string","nullable":true}},"required":["app_id","name","bundle_id","developer_id","developer_name","seller_name","description","price","formatted_price","currency","average_rating","rating_count","primary_genre","genres","version","release_date","current_version_release_date","release_notes","minimum_os_version","content_advisory_rating","languages","supported_devices","file_size_bytes","artwork_url","screenshots","ipad_screenshots","appletv_screenshots","app_store_url","developer_url","seller_url"]}}},"required":["query","country","results"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"app-store","x-toolzer-verified":true}},"/v1/app-store/developer/apps":{"get":{"operationId":"Get App Store Developer Apps","tags":["App Store"],"summary":"List developer apps","description":"Returns App Store software published by a numeric developer ID in the required storefront.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,20}$","example":"324684583","description":"Numeric App Store developer ID."},"required":true,"description":"Numeric App Store developer ID.","name":"developer_id","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","example":"US","description":"Two-letter App Store storefront code."},"required":true,"description":"Two-letter App Store storefront code.","name":"country","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"developer_id":{"type":"string"},"country":{"type":"string"},"apps":{"type":"array","items":{"type":"object","properties":{"app_id":{"type":"string"},"name":{"type":"string"},"bundle_id":{"type":"string","nullable":true},"developer_id":{"type":"string","nullable":true},"developer_name":{"type":"string","nullable":true},"seller_name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"price":{"type":"number","nullable":true},"formatted_price":{"type":"string","nullable":true},"currency":{"type":"string","nullable":true},"average_rating":{"type":"number","nullable":true},"rating_count":{"type":"number","nullable":true},"primary_genre":{"type":"string","nullable":true},"genres":{"type":"array","items":{"type":"string"}},"version":{"type":"string","nullable":true},"release_date":{"type":"string","nullable":true},"current_version_release_date":{"type":"string","nullable":true},"release_notes":{"type":"string","nullable":true},"minimum_os_version":{"type":"string","nullable":true},"content_advisory_rating":{"type":"string","nullable":true},"languages":{"type":"array","items":{"type":"string"}},"supported_devices":{"type":"array","items":{"type":"string"}},"file_size_bytes":{"type":"string","nullable":true},"artwork_url":{"type":"string","nullable":true},"screenshots":{"type":"array","items":{"type":"string"}},"ipad_screenshots":{"type":"array","items":{"type":"string"}},"appletv_screenshots":{"type":"array","items":{"type":"string"}},"app_store_url":{"type":"string","nullable":true},"developer_url":{"type":"string","nullable":true},"seller_url":{"type":"string","nullable":true}},"required":["app_id","name","bundle_id","developer_id","developer_name","seller_name","description","price","formatted_price","currency","average_rating","rating_count","primary_genre","genres","version","release_date","current_version_release_date","release_notes","minimum_os_version","content_advisory_rating","languages","supported_devices","file_size_bytes","artwork_url","screenshots","ipad_screenshots","appletv_screenshots","app_store_url","developer_url","seller_url"]}}},"required":["developer_id","country","apps"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"app-store","x-toolzer-verified":true}},"/v1/app-store/reviews":{"get":{"operationId":"Get App Store Reviews","tags":["App Store"],"summary":"List recent reviews","description":"Returns up to 500 recent public reviews for an app and storefront. Fewer results can mean the feed ended; this is not complete review history.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,20}$","example":"324684580","description":"Numeric App Store app ID."},"required":true,"description":"Numeric App Store app ID.","name":"app_id","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","example":"US","description":"Two-letter App Store storefront code."},"required":true,"description":"Two-letter App Store storefront code.","name":"country","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":500,"default":100,"example":100,"description":"Maximum recent public reviews to return, up to 500."},"required":false,"description":"Maximum recent public reviews to return, up to 500.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"app_id":{"type":"string"},"country":{"type":"string"},"reviews":{"type":"array","items":{"type":"object","properties":{"review_id":{"type":"string"},"author_name":{"type":"string","nullable":true},"author_url":{"type":"string","nullable":true},"updated_at":{"type":"string","nullable":true},"rating":{"type":"number","nullable":true},"version":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"helpful_vote_count":{"type":"number","nullable":true},"helpful_vote_sum":{"type":"number","nullable":true}},"required":["review_id","author_name","author_url","updated_at","rating","version","title","text","helpful_vote_count","helpful_vote_sum"]}}},"required":["app_id","country","reviews"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"app-store","x-toolzer-verified":true}},"/v1/app-store/charts":{"get":{"operationId":"Get App Store Charts","tags":["App Store"],"summary":"List top free apps","description":"Returns the verified US top-free apps chart in rank order.","parameters":[{"schema":{"type":"string","enum":["US"],"default":"US","example":"US","description":"App Store storefront available for this chart."},"required":false,"description":"App Store storefront available for this chart.","name":"country","in":"query"},{"schema":{"type":"string","enum":["top-free"],"default":"top-free","example":"top-free","description":"Verified App Store chart to return."},"required":false,"description":"Verified App Store chart to return.","name":"chart","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":100,"example":100,"description":"Maximum ranked apps to return."},"required":false,"description":"Maximum ranked apps to return.","name":"limit","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"country":{"type":"string","enum":["US"]},"chart":{"type":"string","enum":["top-free"]},"apps":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer"},"app_id":{"type":"string"},"name":{"type":"string"},"developer_id":{"type":"string","nullable":true},"developer_name":{"type":"string","nullable":true},"release_date":{"type":"string","nullable":true},"kind":{"type":"string","nullable":true},"artwork_url":{"type":"string","nullable":true},"genres":{"type":"array","items":{"type":"object","properties":{"genre_id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"url":{"type":"string","nullable":true}},"required":["genre_id","name","url"]}},"app_store_url":{"type":"string","nullable":true}},"required":["rank","app_id","name","developer_id","developer_name","release_date","kind","artwork_url","genres","app_store_url"]}}},"required":["country","chart","apps"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"app-store","x-toolzer-verified":true}},"/v1/google-play/app":{"get":{"operationId":"Get Google Play App","tags":["Google Play"],"summary":"Get app details","description":"Returns public metadata for one Android app. Requires `package_id`; returns `data: null` if the package isn't on Google Play.","parameters":[{"schema":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]*(?:\\.[A-Za-z0-9_]+)+$","example":"com.spotify.music","description":"Android application ID from a Play Store app URL."},"required":true,"description":"Android application ID from a Play Store app URL.","name":"package_id","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z]{2})?$","default":"en_US","example":"en_US","description":"Locale used for Play Store text, such as en_US."},"required":false,"description":"Locale used for Play Store text, such as en_US.","name":"language","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","default":"US","example":"US","description":"Two-letter country code used for Play Store availability."},"required":false,"description":"Two-letter country code used for Play Store availability.","name":"country","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"package_id":{"type":"string"},"title":{"type":"string"},"icon_url":{"type":"string","nullable":true},"screenshots":{"type":"array","items":{"type":"string"}},"description":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"developer":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"required":["name","id"]},"rating":{"type":"number","nullable":true},"ratings_count":{"type":"number","nullable":true},"installs":{"type":"string","nullable":true},"content_rating":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"released":{"type":"string","nullable":true},"updated":{"type":"string","nullable":true},"contains_ads":{"type":"boolean"},"in_app_purchases":{"type":"string","nullable":true}},"required":["package_id","title","icon_url","screenshots","description","summary","developer","rating","ratings_count","installs","content_rating","category","released","updated","contains_ads","in_app_purchases"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-play","x-toolzer-verified":true}},"/v1/google-play/search":{"get":{"operationId":"Search Google Play","tags":["Google Play"],"summary":"Search apps","description":"Returns public Google Play app results for required `q`, in the selected `language` and `country`.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"weather radar","description":"App search text."},"required":true,"description":"App search text.","name":"q","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z]{2})?$","default":"en_US","example":"en_US","description":"Locale used for Play Store text, such as en_US."},"required":false,"description":"Locale used for Play Store text, such as en_US.","name":"language","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","default":"US","example":"US","description":"Two-letter country code used for Play Store availability."},"required":false,"description":"Two-letter country code used for Play Store availability.","name":"country","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"results":{"type":"array","items":{"type":"object","properties":{"package_id":{"type":"string"},"title":{"type":"string"},"icon_url":{"type":"string","nullable":true},"rating":{"type":"number","nullable":true},"category":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"developer":{"type":"string","nullable":true},"installs":{"type":"string","nullable":true}},"required":["package_id","title","icon_url","rating","category","description","developer","installs"]}}},"required":["results"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-play","x-toolzer-verified":true}},"/v1/google-play/developer/apps":{"get":{"operationId":"Get Google Play Developer Apps","tags":["Google Play"],"summary":"List developer apps","description":"Returns public Google Play apps published under a `developer_id` (name or ID).","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"Spotify AB","description":"Developer name or ID from an app's developer field."},"required":true,"description":"Developer name or ID from an app's developer field.","name":"developer_id","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z]{2})?$","default":"en_US","example":"en_US","description":"Locale used for Play Store text, such as en_US."},"required":false,"description":"Locale used for Play Store text, such as en_US.","name":"language","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","default":"US","example":"US","description":"Two-letter country code used for Play Store availability."},"required":false,"description":"Two-letter country code used for Play Store availability.","name":"country","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"developer_id":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"package_id":{"type":"string"},"title":{"type":"string"},"icon_url":{"type":"string","nullable":true},"rating":{"type":"number","nullable":true},"category":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"developer":{"type":"string","nullable":true},"installs":{"type":"string","nullable":true}},"required":["package_id","title","icon_url","rating","category","description","developer","installs"]}}},"required":["developer_id","results"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-play","x-toolzer-verified":true}},"/v1/google-play/reviews":{"get":{"operationId":"Get Google Play Reviews","tags":["Google Play"],"summary":"List app reviews","description":"Returns up to `count` public reviews for `package_id`, in the selected `sort` order and locale.","parameters":[{"schema":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]*(?:\\.[A-Za-z0-9_]+)+$","example":"com.spotify.music","description":"Android application ID from a Play Store app URL."},"required":true,"description":"Android application ID from a Play Store app URL.","name":"package_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":100,"example":100,"description":"Number of reviews to return, up to 1,000."},"required":false,"description":"Number of reviews to return, up to 1,000.","name":"count","in":"query"},{"schema":{"type":"string","enum":["newest","helpful","rating"],"default":"newest","example":"newest","description":"Review ordering to request."},"required":false,"description":"Review ordering to request.","name":"sort","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:[-_][A-Za-z]{2})?$","default":"en_US","example":"en_US","description":"Locale used for Play Store text, such as en_US."},"required":false,"description":"Locale used for Play Store text, such as en_US.","name":"language","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","default":"US","example":"US","description":"Two-letter country code used for Play Store availability."},"required":false,"description":"Two-letter country code used for Play Store availability.","name":"country","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"package_id":{"type":"string"},"sort":{"type":"string","enum":["newest","helpful","rating"]},"reviews":{"type":"array","items":{"type":"object","properties":{"review_id":{"type":"string"},"author":{"type":"string"},"avatar_url":{"type":"string","nullable":true},"score":{"type":"number"},"text":{"type":"string","nullable":true},"timestamp":{"type":"number"},"helpful_count":{"type":"number"},"developer_reply":{"type":"object","nullable":true,"properties":{"author":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"timestamp":{"type":"number","nullable":true}},"required":["author","text","timestamp"]},"app_version":{"type":"string","nullable":true}},"required":["review_id","author","avatar_url","score","text","timestamp","helpful_count","developer_reply","app_version"]}}},"required":["package_id","sort","reviews"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-play","x-toolzer-verified":true}},"/v1/walmart/products/search":{"get":{"operationId":"Search Walmart Products","tags":["Walmart - Products"],"summary":"Search products","description":"Returns products matching required `keyword`. `count` (default 54, max 300) pages through results server-side — roughly 54 are served per page, so a higher `count` costs additional round-trips and increases latency. `has_more` says whether more results exist beyond those returned.","parameters":[{"schema":{"type":"string","minLength":1,"example":"coffee maker","description":"Keyword to search Walmart products for."},"required":true,"description":"Keyword to search Walmart products for.","name":"keyword","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":300,"default":54,"example":54,"description":"How many products to return (1-300). A larger count is slower. Fewer may come back; `has_more` says whether more exist."},"required":false,"description":"How many products to return (1-300). A larger count is slower. Fewer may come back; `has_more` says whether more exist.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{"usItemId":{"type":"string"}},"required":["usItemId"],"additionalProperties":{"nullable":true}}},"count":{"type":"integer","minimum":0},"aggregatedCount":{"type":"integer","minimum":0},"has_more":{"type":"boolean"},"breadCrumb":{"nullable":true},"categoryNavigation":{"nullable":true},"relatedSearch":{"nullable":true}},"required":["items","has_more"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"walmart","x-toolzer-verified":true}},"/v1/walmart/product/detail":{"get":{"operationId":"Get Walmart Product Detail","tags":["Walmart - Product"],"summary":"Get product details","description":"Returns product information for a single item. Requires `canonical_url`, exactly as returned by the search endpoint's `canonicalUrl` field — a URL hand-built from the numeric item id alone is not supported.","parameters":[{"schema":{"type":"string","minLength":1,"example":"/ip/Cuisinart-Coffee-Center-2-IN-1-Coffeemaker-Single-Serve-12-Cup-Carafe-Stainless-Steel/2589031166","description":"A product's canonicalUrl exactly as returned by the search endpoint (a full walmart.com URL also works) — /ip/<slug>/<id>. A hand-built URL built from just the numeric id is not accepted: Walmart's own anti-bot gate treats that shape as a strong block signal."},"required":true,"description":"A product's canonicalUrl exactly as returned by the search endpoint (a full walmart.com URL also works) — /ip/<slug>/<id>. A hand-built URL built from just the numeric id is not accepted: Walmart's own anti-bot gate treats that shape as a strong block signal.","name":"canonical_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"usItemId":{"type":"string"}},"required":["usItemId"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"walmart","x-toolzer-verified":true}},"/v1/airbnb/stays/search":{"get":{"operationId":"Search Airbnb Stays","tags":["Airbnb - Stays"],"summary":"Search stays","description":"Search Airbnb stays for a destination, with optional dates and guest counts. Check `location.resolved` before treating results as a destination match.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"San Francisco, CA","description":"City, region, neighbourhood, or address to search. Check `location.resolved`; an unrecognized destination can return unrelated stays."},"required":true,"description":"City, region, neighbourhood, or address to search. Check `location.resolved`; an unrecognized destination can return unrelated stays.","name":"destination","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":270,"default":18,"example":18,"description":"Maximum stays to return. Check `has_more` to see whether more results are available."},"required":false,"description":"Maximum stays to return. Check `has_more` to see whether more results are available.","name":"count","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-10-05","description":"Check-in date, ISO YYYY-MM-DD. Must be given together with `checkout`. When both are set, prices come back for that stay length rather than Airbnb's default window."},"required":false,"description":"Check-in date, ISO YYYY-MM-DD. Must be given together with `checkout`. When both are set, prices come back for that stay length rather than Airbnb's default window.","name":"checkin","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-10-09","description":"Check-out date, ISO YYYY-MM-DD. Must be after `checkin`."},"required":false,"description":"Check-out date, ISO YYYY-MM-DD. Must be after `checkin`.","name":"checkout","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":16,"example":2,"description":"Number of adult guests (1-16)."},"required":false,"description":"Number of adult guests (1-16).","name":"adults","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":15,"description":"Number of children (0-15)."},"required":false,"description":"Number of children (0-15).","name":"children","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":5,"description":"Number of infants (0-5)."},"required":false,"description":"Number of infants (0-5).","name":"infants","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"stays":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"name":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"subtitle":{"type":"string","nullable":true},"coordinate":{"type":"object","nullable":true,"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"required":["latitude","longitude"]},"price":{"type":"object","nullable":true,"properties":{"label":{"type":"string","nullable":true},"amount":{"type":"string","nullable":true},"original_amount":{"type":"string","nullable":true},"qualifier":{"type":"string","nullable":true}},"required":["label","amount","original_amount","qualifier"]},"rating":{"type":"object","nullable":true,"properties":{"score":{"type":"number","nullable":true},"reviews":{"type":"integer","nullable":true,"minimum":0},"label":{"type":"string","nullable":true}},"required":["score","reviews","label"]},"pictures":{"type":"array","items":{"type":"string"}}},"required":["id","url","name","title","subtitle","coordinate","price","rating","pictures"]}},"count":{"type":"integer","minimum":0},"has_more":{"type":"boolean","description":"Whether more results exist beyond those returned."},"location":{"type":"object","properties":{"resolved":{"type":"boolean","description":"False when Airbnb could not resolve `destination` to a real place and served unrelated inventory instead."},"place_id":{"type":"string","nullable":true},"canonical_location":{"type":"string","nullable":true,"description":"Place Airbnb actually searched, set when `resolved` is true."}},"required":["resolved","place_id","canonical_location"]}},"required":["stays","count","has_more","location"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"airbnb","x-toolzer-verified":true}},"/v1/airbnb/stay/detail":{"get":{"operationId":"Get Airbnb Stay Detail","tags":["Airbnb - Stay"],"summary":"Get listing details","description":"Get an Airbnb listing's description, amenities, host information, and ratings.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,20}$","example":"4518031","description":"Listing ID from the `id` field in a stay search result. An unknown ID returns `data: null`."},"required":true,"description":"Listing ID from the `id` field in a stay search result. An unknown ID returns `data: null`.","name":"stay_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"id":{"type":"string"},"url":{"type":"string"},"name":{"type":"string","nullable":true},"description_html":{"type":"string","nullable":true},"property_type":{"type":"string","nullable":true},"space_type":{"type":"string","nullable":true},"person_capacity":{"type":"integer","nullable":true,"minimum":0},"coordinate":{"type":"object","nullable":true,"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"required":["latitude","longitude"]},"overview":{"type":"array","items":{"type":"string"}},"amenities":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"available":{"type":"boolean"},"group":{"type":"string","nullable":true}},"required":["title","available","group"]}},"highlights":{"type":"array","items":{"type":"object","properties":{"headline":{"type":"string"},"body":{"type":"string","nullable":true},"type":{"type":"string","nullable":true}},"required":["headline","body","type"]}},"host":{"type":"object","nullable":true,"properties":{"name":{"type":"string","nullable":true},"is_superhost":{"type":"boolean"},"is_verified":{"type":"boolean"},"profile_picture":{"type":"string","nullable":true},"reviews":{"type":"integer","nullable":true,"minimum":0},"rating":{"type":"number","nullable":true},"years_hosting":{"type":"integer","nullable":true,"minimum":0},"response_rate":{"type":"string","nullable":true},"response_time":{"type":"string","nullable":true}},"required":["name","is_superhost","is_verified","profile_picture","reviews","rating","years_hosting","response_rate","response_time"]},"rating":{"type":"object","nullable":true,"properties":{"score":{"type":"number","nullable":true},"reviews":{"type":"integer","nullable":true,"minimum":0},"categories":{"type":"object","additionalProperties":{"type":"number"}}},"required":["score","reviews","categories"]}},"required":["id","url","name","description_html","property_type","space_type","person_capacity","coordinate","overview","amenities","highlights","host","rating"],"description":"Listing details, or `null` when `stay_id` does not resolve."},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"airbnb","x-toolzer-verified":true}},"/v1/airbnb/stay/reviews":{"get":{"operationId":"Get Airbnb Stay Reviews","tags":["Airbnb - Stay"],"summary":"List guest reviews","description":"List an Airbnb stay's guest reviews newest first, including ratings, replies, and topic tags. `total` is the stay's full review count.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,20}$","example":"4518031","description":"Listing ID from the `id` field in a stay search result."},"required":true,"description":"Listing ID from the `id` field in a stay search result.","name":"stay_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":500,"default":50,"example":50,"description":"Maximum reviews to return. `total` is the stay's full review count and can be larger than this limit."},"required":false,"description":"Maximum reviews to return. `total` is the stay's full review count and can be larger than this limit.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"stay_id":{"type":"string"},"url":{"type":"string"},"reviews":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true,"description":"ISO 8601 UTC timestamp. The listing page itself only shows a relative date (see `date_label`); this is the real time."},"date_label":{"type":"string","nullable":true},"rating":{"type":"integer","nullable":true},"language":{"type":"string","nullable":true},"translated_text":{"type":"string","nullable":true},"highlight":{"type":"string","nullable":true},"reviewer":{"type":"object","nullable":true,"properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"tenure":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true}},"required":["name","id","location","tenure","picture"]},"response":{"type":"object","nullable":true,"properties":{"text":{"type":"string"},"responder":{"type":"string","nullable":true},"date_label":{"type":"string","nullable":true}},"required":["text","responder","date_label"]},"photos":{"type":"array","items":{"type":"string"}}},"required":["id","text","created_at","date_label","rating","language","translated_text","highlight","reviewer","response","photos"]}},"count":{"type":"integer","minimum":0},"total":{"type":"integer","nullable":true,"minimum":0,"description":"The stay's true review count, frequently larger than `count`."},"has_more":{"type":"boolean"},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string","nullable":true},"count":{"type":"integer","nullable":true,"minimum":0}},"required":["name","label","count"]}}},"required":["stay_id","url","reviews","count","total","has_more","tags"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"airbnb","x-toolzer-verified":true}},"/v1/airbnb/stay/availability":{"get":{"operationId":"Get Airbnb Stay Availability","tags":["Airbnb - Stay"],"summary":"Get availability","description":"Get an Airbnb stay's availability calendar, check-in and check-out eligibility, and stay-length rules. Use stay search with dates for prices.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,20}$","example":"4518031","description":"Listing ID from the `id` field in a stay search result."},"required":true,"description":"Listing ID from the `id` field in a stay search result.","name":"stay_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":12,"default":12,"example":12,"description":"Number of whole calendar months to return."},"required":false,"description":"Number of whole calendar months to return.","name":"months","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":12,"example":10,"description":"Month to start from (1-12). Defaults to the current month. Must be given together with `start_year`."},"required":false,"description":"Month to start from (1-12). Defaults to the current month. Must be given together with `start_year`.","name":"start_month","in":"query"},{"schema":{"type":"integer","minimum":2000,"maximum":2100,"example":2026,"description":"Year to start from. Defaults to the current year. Must be given together with `start_month`."},"required":false,"description":"Year to start from. Defaults to the current year. Must be given together with `start_month`.","name":"start_year","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"stay_id":{"type":"string"},"url":{"type":"string"},"days":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"available":{"type":"boolean"},"bookable":{"type":"boolean"},"available_for_checkin":{"type":"boolean"},"available_for_checkout":{"type":"boolean"},"min_nights":{"type":"integer","nullable":true,"minimum":0},"max_nights":{"type":"integer","nullable":true,"minimum":0}},"required":["date","available","bookable","available_for_checkin","available_for_checkout","min_nights","max_nights"]}},"day_count":{"type":"integer","minimum":0},"available_count":{"type":"integer","minimum":0},"start_date":{"type":"string","nullable":true,"description":"First date actually returned. May be later than requested if Airbnb served fewer months near the edge of its window."},"end_date":{"type":"string","nullable":true,"description":"Last date actually returned."}},"required":["stay_id","url","days","day_count","available_count","start_date","end_date"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"airbnb","x-toolzer-verified":true}},"/v1/ebay/item/detail":{"get":{"operationId":"Get eBay Item Detail","tags":["eBay - Item"],"summary":"Get item details","description":"Returns item detail: title, price, condition, images, brand/mpn/gtin/model, breadcrumbs, and seller store name when present. Returns null for a removed or nonexistent item_id.","parameters":[{"schema":{"type":"string","pattern":"^\\d{9,15}$","example":"116115700904","description":"Numeric eBay item ID (the trailing segment of an /itm/<id> URL)."},"required":true,"description":"Numeric eBay item ID (the trailing segment of an /itm/<id> URL).","name":"item_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"item_id":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"price":{"type":"number","nullable":true},"currency":{"type":"string","nullable":true},"condition":{"type":"string","nullable":true},"availability":{"type":"string","nullable":true},"images":{"type":"array","items":{"type":"string"}},"brand":{"type":"string","nullable":true},"mpn":{"type":"string","nullable":true},"gtin":{"type":"string","nullable":true},"model":{"type":"string","nullable":true},"breadcrumbs":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer"},"name":{"type":"string"},"url":{"type":"string"}},"required":["position","name"]}},"seller":{"type":"object","properties":{"store_name":{"type":"string","nullable":true}},"required":["store_name"]}},"required":["item_id","url","title","price","currency","condition","availability","images","brand","mpn","gtin","model","breadcrumbs"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ebay","x-toolzer-verified":true}},"/v1/ebay/category/products":{"get":{"operationId":"Get eBay Category Products","tags":["eBay - Category"],"summary":"List category items","description":"Returns item ids for one page of an eBay category browse listing. Category is identified by the (slug, category_id, bn_id) triple published by /ebay/category/tree, not a single opaque id. Returns null for an invalid slug/category_id/bn_id combination.","parameters":[{"schema":{"type":"string","minLength":1,"example":"Apple-Cell-Phones-Smartphones","description":"Category URL slug, as published by /ebay/category/tree (the /b/<slug>/... path segment)."},"required":true,"description":"Category URL slug, as published by /ebay/category/tree (the /b/<slug>/... path segment).","name":"slug","in":"query"},{"schema":{"type":"integer","minimum":0,"exclusiveMinimum":true,"example":9355,"description":"Category ID, as published by /ebay/category/tree."},"required":true,"description":"Category ID, as published by /ebay/category/tree.","name":"category_id","in":"query"},{"schema":{"type":"integer","minimum":0,"exclusiveMinimum":true,"example":319682,"description":"Category bn_id, as published by /ebay/category/tree."},"required":true,"description":"Category bn_id, as published by /ebay/category/tree.","name":"bn_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"default":1,"example":1,"description":"1-indexed page number (eBay's own _pgn). ~65-70 items per page. Pages are independent fetches — dedupe by item_id across pages if you walk more than one; ~10% of each page repeats page 1 (promoted listings)."},"required":false,"description":"1-indexed page number (eBay's own _pgn). ~65-70 items per page. Pages are independent fetches — dedupe by item_id across pages if you walk more than one; ~10% of each page repeats page 1 (promoted listings).","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"page":{"type":"integer"},"items":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string"},"url":{"type":"string"}},"required":["item_id","url"]}}},"required":["page","items"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ebay","x-toolzer-verified":true}},"/v1/ebay/category/tree":{"get":{"operationId":"Get eBay Category Tree","tags":["eBay - Category"],"summary":"Get a category tree","description":"Returns eBay's full category list (~1,300 categories) in one request, each with the (slug, category_id, bn_id) triple /ebay/category/products needs plus a display name where resolvable.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"categories":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"category_id":{"type":"string"},"bn_id":{"type":"string"},"name":{"type":"string","nullable":true},"url":{"type":"string"}},"required":["slug","category_id","bn_id","name","url"]}}},"required":["categories"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ebay","x-toolzer-verified":true}},"/v1/ebay/deals":{"get":{"operationId":"Get eBay Deals","tags":["eBay - Deals"],"summary":"List deals","description":"Returns eBay's current deals listing. Most items carry full structured fields (title/price/currency/image); a field that is not published is omitted rather than guessed.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"price":{"type":"number"},"currency":{"type":"string"},"image_url":{"type":"string"}},"required":["item_id","url"],"additionalProperties":{"nullable":true}}}},"required":["items"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ebay","x-toolzer-verified":true}},"/v1/ebay/shop/storefront":{"get":{"operationId":"Get eBay Storefront","tags":["eBay - Shop"],"summary":"Get a seller storefront","description":"Returns a seller's storefront item listing, with title (and price/image where available). `store_name` is the value returned as `seller.store_name` by the item detail endpoint. Returns null for an invalid or closed store name.","parameters":[{"schema":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_\\-.%]+$","example":"coastaltooloutlet","description":"eBay store name (the /str/<store_name> path segment — harvestable from an item detail response's seller.store_name)."},"required":true,"description":"eBay store name (the /str/<store_name> path segment — harvestable from an item detail response's seller.store_name).","name":"store_name","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"store_name":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"price":{"type":"number"},"currency":{"type":"string"},"image_url":{"type":"string"}},"required":["item_id","url"],"additionalProperties":{"nullable":true}}}},"required":["store_name","items"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ebay","x-toolzer-verified":true}},"/v1/ebay/search/autocomplete":{"get":{"operationId":"Get eBay Search Autocomplete","tags":["eBay - Search"],"summary":"Search suggestions","description":"Returns eBay's autosuggest completions for a partial keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"bluetooth","description":"Partial keyword to get eBay's autosuggest completions for."},"required":true,"description":"Partial keyword to get eBay's autosuggest completions for.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"keyword":{"type":"string"},"suggestions":{"type":"array","items":{"type":"string"}}},"required":["keyword","suggestions"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ebay","x-toolzer-verified":true}},"/v1/etsy/search":{"get":{"operationId":"Search Etsy Products","tags":["Etsy"],"summary":"Search listings","description":"Returns Etsy listings matching required `q`. Use `count` to control how many are returned per call.","parameters":[{"schema":{"type":"string","minLength":1,"example":"leather journal","description":"Keyword to search Etsy listings for."},"required":true,"description":"Keyword to search Etsy listings for.","name":"q","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":240,"default":48,"example":48,"description":"Maximum listings to return. Fewer can be returned; use `has_more` to determine whether more results are available."},"required":false,"description":"Maximum listings to return. Fewer can be returned; use `has_more` to determine whether more results are available.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"query":{"type":"string"},"count":{"type":"integer"},"has_more":{"type":"boolean","description":"Whether further results likely exist beyond those returned."},"listings":{"type":"array","items":{"type":"object","properties":{"listing_id":{"type":"string","example":"4488906265"},"title":{"type":"string","example":"Personalized A5 Trifold Leather Journal"},"url":{"type":"string","example":"https://www.etsy.com/listing/4488906265/personalized-a5-trifold-leather-journal"},"image_url":{"type":"string","example":"https://i.etsystatic.com/62498741/r/il/a1d507/7914288856/il_255x319.7914288856_geua.jpg"},"shop_name":{"type":"string","example":"HIDEAcraftedleather"},"shop_url":{"type":"string","example":"https://www.etsy.com/shop/HIDEAcraftedleather"},"price":{"type":"number","example":66.95,"description":"Current (sale, if any) price."},"original_price":{"type":"number","nullable":true,"example":103,"description":"Pre-discount price, or null when not on sale."},"currency":{"type":"string","example":"USD"},"on_sale":{"type":"boolean"},"percent_discount":{"type":"number","nullable":true,"example":35},"rating":{"type":"number","nullable":true,"example":4.9},"review_count":{"type":"number","nullable":true,"example":399}},"required":["listing_id","title","url","image_url","shop_name","shop_url","price","original_price","currency","on_sale","percent_discount","rating","review_count"]}}},"required":["query","count","has_more","listings"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"etsy","x-toolzer-verified":true}},"/v1/ozon/products/search":{"get":{"operationId":"Search Ozon Products","tags":["Ozon - Products"],"summary":"Search products","description":"Search Ozon products by name, brand, or other keywords.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"iphone","description":"What to search for, as free text. Ozon resolves the query to one of its categories and returns that category's listing, so the response includes `category_path` for use with `/ozon/products/category`."},"required":true,"description":"What to search for, as free text. Ozon resolves the query to one of its categories and returns that category's listing, so the response includes `category_path` for use with `/ozon/products/category`.","name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":2400,"default":24,"example":24,"description":"Requested number of products (1-2400). Ozon provides 8 products per source page, and fewer may be returned when the listing ends."},"required":false,"description":"Requested number of products (1-2400). Ozon provides 8 products per source page, and fewer may be returned when the listing ends.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OzonSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ozon","x-toolzer-verified":true}},"/v1/ozon/products/category":{"get":{"operationId":"Get Ozon Category Products","tags":["Ozon - Products"],"summary":"List category products","description":"List up to 2400 products from an Ozon category path. Use `count` and `page` to paginate results.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":2000,"example":"/category/smartfony-15502/apple-26303000/","description":"An Ozon category path, as returned in a search response's `category_path`. A full `https://www.ozon.ru/...` URL is accepted too."},"required":true,"description":"An Ozon category path, as returned in a search response's `category_path`. A full `https://www.ozon.ru/...` URL is accepted too.","name":"path","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":2400,"default":24,"example":24,"description":"How many products to return (1-2400)."},"required":false,"description":"How many products to return (1-2400).","name":"count","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":300,"default":1,"example":1,"description":"Listing page to start from (1-300); each page contains up to 8 products. Send the previous response's `next_page` to continue."},"required":false,"description":"Listing page to start from (1-300); each page contains up to 8 products. Send the previous response's `next_page` to continue.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OzonCategoryResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ozon","x-toolzer-verified":true}},"/v1/ozon/products/detail":{"get":{"operationId":"Get Ozon Product","tags":["Ozon - Products"],"summary":"Get product details","description":"Get an Ozon product's seller, description, brand, stock, gallery, specifications, breadcrumbs, and related SKU variants.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":2000,"example":"https://www.ozon.ru/product/apple-smartfon-iphone-17-pro-max-3755501937/","description":"An Ozon product URL, as returned in a search or category response's `url`. A bare `/product/...` path is accepted too."},"required":true,"description":"An Ozon product URL, as returned in a search or category response's `url`. A bare `/product/...` path is accepted too.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OzonProductDetail"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ozon","x-toolzer-verified":true}},"/v1/wellfound/jobs/search":{"get":{"operationId":"Search Wellfound Jobs","tags":["Wellfound - Jobs"],"summary":"Search jobs","description":"Returns startup job postings for `role`, `location`, or both — at least one is required. Slugs are lowercase-hyphenated, exactly as in a wellfound.com URL (`software-engineer`, `san-francisco`). `remote` is valid only on a role-only search; combined with `location` it is rejected.","parameters":[{"schema":{"type":"string","minLength":1,"example":"software-engineer","description":"Wellfound role slug, as it appears in a /role/<role> URL. At least one of `role` or `location` is required."},"required":false,"description":"Wellfound role slug, as it appears in a /role/<role> URL. At least one of `role` or `location` is required.","name":"role","in":"query"},{"schema":{"type":"string","minLength":1,"example":"san-francisco","description":"Wellfound location slug, as it appears in a /location/<location> URL. At least one of `role` or `location` is required."},"required":false,"description":"Wellfound location slug, as it appears in a /location/<location> URL. At least one of `role` or `location` is required.","name":"location","in":"query"},{"schema":{"type":"boolean","default":false,"example":false,"description":"Restrict to remote postings. Only valid on a role-only search — Wellfound has no remote variant of the location or role+location pages, so combining `remote` with `location` is rejected rather than silently ignored."},"required":false,"description":"Restrict to remote postings. Only valid on a role-only search — Wellfound has no remote variant of the location or role+location pages, so combining `remote` with `location` is rejected rather than silently ignored.","name":"remote","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":500,"default":40,"example":40,"description":"How many job rows to return (1-500). A larger count is slower. Fewer may come back when Wellfound's results end; `ended_at_source_limit` says so."},"required":false,"description":"How many job rows to return (1-500). A larger count is slower. Fewer may come back when Wellfound's results end; `ended_at_source_limit` says so.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WellfoundJobSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"wellfound","x-toolzer-verified":true}},"/v1/wellfound/jobs/detail":{"get":{"operationId":"Get Wellfound Job Detail","tags":["Wellfound - Jobs"],"summary":"Get job details","description":"Returns one posting under schema.org `JobPosting` field names. Requires the numeric `job_id`; `slug` is optional and cosmetic. `data` is `null` when the posting no longer exists (taken down after the role is filled) — returned as a 200, not a 404.","parameters":[{"schema":{"type":"string","pattern":"^\\d+$","example":"3061448","description":"The numeric id from a Wellfound job URL, or the `id` of a row returned by the job search endpoint."},"required":true,"description":"The numeric id from a Wellfound job URL, or the `id` of a row returned by the job search endpoint.","name":"job_id","in":"query"},{"schema":{"type":"string","minLength":1,"example":"senior-software-engineer","description":"The slug that follows the id in a Wellfound job URL. Optional — Wellfound resolves the posting on the id alone and the slug is cosmetic, so it is only worth sending when you already have it."},"required":false,"description":"The slug that follows the id in a Wellfound job URL. Optional — Wellfound resolves the posting on the id alone and the slug is cosmetic, so it is only worth sending when you already have it.","name":"slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WellfoundJobPosting"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"wellfound","x-toolzer-verified":true}},"/v1/wellfound/startups":{"get":{"operationId":"List Wellfound Startups","tags":["Wellfound - Startups"],"summary":"List startups","description":"Returns companies from Wellfound's startup directory, with the postings the directory highlights alongside them. `count` (1-500) is a number of companies, not job rows. `remote` restricts the directory to companies hiring remotely.","parameters":[{"schema":{"type":"boolean","default":false,"example":false,"description":"Restrict the directory to companies hiring remotely."},"required":false,"description":"Restrict the directory to companies hiring remotely.","name":"remote","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":500,"default":40,"example":40,"description":"How many companies to return (1-500). A larger count is slower. Fewer may come back when Wellfound's results end; `ended_at_source_limit` says so."},"required":false,"description":"How many companies to return (1-500). A larger count is slower. Fewer may come back when Wellfound's results end; `ended_at_source_limit` says so.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WellfoundStartupsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"wellfound","x-toolzer-verified":true}},"/v1/wellfound/company":{"get":{"operationId":"Get Wellfound Company","tags":["Wellfound - Companies"],"summary":"Get company","description":"Returns a company's Wellfound profile: company record, funding rounds, team, culture perks and open postings, per the `sections` requested. Request `sections=overview,funding` for round amounts. An unknown `slug` returns `data: null`. First requests after an idle period are slower.","parameters":[{"schema":{"type":"string","minLength":1,"example":"openai","description":"The company's Wellfound slug — the part after /company/ in the URL."},"required":true,"description":"The company's Wellfound slug — the part after /company/ in the URL.","name":"slug","in":"query"},{"schema":{"type":"array","items":{"type":"string","enum":["overview","jobs","people","culture","funding"]},"minItems":1,"default":["overview"],"example":["overview","funding"],"description":"Comma-separated sub-pages to fetch; each is a separate upstream request (~0.5s). `funding` carries `raisedAmount`/`sourceUrl` that `overview` alone omits. There is no `salaries` section (Wellfound hides or redirects it) — check `hidden_sections` for what a company withheld."},"required":false,"description":"Comma-separated sub-pages to fetch; each is a separate upstream request (~0.5s). `funding` carries `raisedAmount`/`sourceUrl` that `overview` alone omits. There is no `salaries` section (Wellfound hides or redirects it) — check `hidden_sections` for what a company withheld.","name":"sections","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WellfoundCompanyResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"wellfound","x-toolzer-verified":true}},"/v1/clutch/directory":{"get":{"operationId":"Get Clutch Directory","tags":["Clutch - Directory"],"summary":"List directory agencies","description":"Returns ranked agencies in one Clutch directory (e.g. `web-developers`, `agencies/digital-marketing`), each with rating, review count, rank position, contact info, rate/size/headcount bands, and percentage service mix. `data` is `null` when Clutch has no such directory — a 200, not a 404.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"web-developers","description":"The directory path as it appears on clutch.co, **without the leading slash** — `web-developers`, `it-services`, `agencies/digital-marketing`. There are 65,812 of them, so this is a free-form path rather than an enum; use the sitemap endpoint with `kind=directory` to enumerate the valid ones."},"required":true,"description":"The directory path as it appears on clutch.co, **without the leading slash** — `web-developers`, `it-services`, `agencies/digital-marketing`. There are 65,812 of them, so this is a free-form path rather than an enum; use the sitemap endpoint with `kind=directory` to enumerate the valid ones.","name":"directory","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":500,"default":80,"example":80,"description":"Number of distinct providers to return (1-500). Pages contain about 50 new providers after de-duplication."},"required":false,"description":"Number of distinct providers to return (1-500). Pages contain about 50 new providers after de-duplication.","name":"count","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":65812,"default":1,"example":1,"description":"Clutch page to start from (1 is the first page). One call reads up to 12 pages; pass the response's `next_page` here to continue."},"required":false,"description":"Clutch page to start from (1 is the first page). One call reads up to 12 pages; pass the response's `next_page` here to continue.","name":"start_page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ClutchDirectoryResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"clutch","x-toolzer-verified":true}},"/v1/clutch/profile":{"get":{"operationId":"Get Clutch Profile","tags":["Clutch - Profiles"],"summary":"Get an agency profile","description":"Returns one agency's Clutch profile: name, description, website, phone, founding year, logo, rating, address, service offer catalog, and embedded reviews. See `review_count_reported` and `review_nonce` for review caveats. `data` is `null` for a slug Clutch does not publish — a 200, not a 404.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":160,"example":"wpromote","description":"The agency's Clutch slug — the part after `/profile/` in the URL. A leading `profile/` is accepted and stripped. Dots are valid: some profiles are named after a domain, e.g. `chopdawg.com`. Every directory row carries the `slug` to pass here."},"required":true,"description":"The agency's Clutch slug — the part after `/profile/` in the URL. A leading `profile/` is accepted and stripped. Dots are valid: some profiles are named after a domain, e.g. `chopdawg.com`. Every directory row carries the `slug` to pass here.","name":"slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ClutchProfileResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"clutch","x-toolzer-verified":true}},"/v1/clutch/sitemap":{"get":{"operationId":"Get Clutch Sitemap","tags":["Clutch - Enumeration"],"summary":"List sitemap entries","description":"Enumerates Clutch's own sitemaps. Without `index`, lists the numbered sitemaps for `kind`; with `index`, returns that sitemap's URLs. `kind=profile` yields profile `slug`s, `kind=directory` yields `directory` paths. `data` is `null` past the last sitemap.","parameters":[{"schema":{"type":"string","enum":["profile","directory"],"default":"profile","example":"profile","description":"Which half of Clutch's enumeration to read. `profile` lists agency profile URLs (220,567 of them); `directory` lists directory URLs (65,812), which is where the `directory` parameter of the directory endpoint comes from."},"required":false,"description":"Which half of Clutch's enumeration to read. `profile` lists agency profile URLs (220,567 of them); `directory` lists directory URLs (65,812), which is where the `directory` parameter of the directory endpoint comes from.","name":"kind","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"example":1,"description":"Which numbered sitemap to expand. Omit it to get the list of sitemaps for this `kind`; pass it to get that sitemap's URLs. Sitemaps are served one at a time (~860KB each) rather than concatenated. Indexes are 1-based; `data` is `null` past the last one."},"required":false,"description":"Which numbered sitemap to expand. Omit it to get the list of sitemaps for this `kind`; pass it to get that sitemap's URLs. Sitemaps are served one at a time (~860KB each) rather than concatenated. Indexes are 1-based; `data` is `null` past the last one.","name":"index","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ClutchSitemapResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"clutch","x-toolzer-verified":true}},"/v1/indeed/jobs/search":{"get":{"operationId":"Search Indeed Jobs","tags":["Indeed - Jobs"],"summary":"Search jobs","description":"Search one page of Indeed job listings by text, location, radius, age, job type, and sort order. Vary the query and filters to cover more jobs.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"software engineer","description":"What to search for, as free text — Indeed's own `q`. This is the main axis of coverage: because there is only ever one page of results, more jobs come from more queries, not from paging."},"required":true,"description":"What to search for, as free text — Indeed's own `q`. This is the main axis of coverage: because there is only ever one page of results, more jobs come from more queries, not from paging.","name":"query","in":"query"},{"schema":{"type":"string","maxLength":120,"example":"San Francisco, CA","description":"Where to search — Indeed's own `l`. A city and state, a state, a postcode, or \"remote\". Omit for a nationwide search."},"required":false,"description":"Where to search — Indeed's own `l`. A city and state, a state, a postcode, or \"remote\". Omit for a nationwide search.","name":"location","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":100,"example":25,"description":"Miles around `location` to include. Only meaningful together with `location` — Indeed has nothing to measure a radius from without it."},"required":false,"description":"Miles around `location` to include. Only meaningful together with `location` — Indeed has nothing to measure a radius from without it.","name":"radius","in":"query"},{"schema":{"type":"integer","example":7,"description":"Only postings first seen within this many days (Indeed's `fromage`). Restricted to 1, 3, 7, 14 because those are the only values Indeed acts on; any other number is silently ignored upstream, which would answer a different question than the one asked."},"required":false,"description":"Only postings first seen within this many days (Indeed's `fromage`). Restricted to 1, 3, 7, 14 because those are the only values Indeed acts on; any other number is silently ignored upstream, which would answer a different question than the one asked.","name":"days_ago","in":"query"},{"schema":{"type":"string","example":"fulltime","description":"Employment type filter (Indeed's `jt`): fulltime, parttime, contract, temporary, internship."},"required":false,"description":"Employment type filter (Indeed's `jt`): fulltime, parttime, contract, temporary, internship.","name":"job_type","in":"query"},{"schema":{"type":"string","example":"date","description":"Result ordering. Omit for Indeed's own relevance ranking, which is the site default."},"required":false,"description":"Result ordering. Omit for Indeed's own relevance ranking, which is the site default.","name":"sort","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IndeedSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"indeed","x-toolzer-verified":true}},"/v1/indeed/jobs/detail":{"get":{"operationId":"Get Indeed Job","tags":["Indeed - Jobs"],"summary":"Get job details","description":"Returns one Indeed job posting for required `jk` (job key), including the full `description_html`, structured `salary`, employer, locations and `valid_through`. `data` is `null` when the posting no longer exists — a normal outcome, returned as 200, not 404.","parameters":[{"schema":{"type":"string","example":"16dee99e6784de74","description":"Indeed's job key. It is `job_key` on every row this API's search endpoint returns, and `jk=` in an indeed.com/viewjob URL."},"required":true,"description":"Indeed's job key. It is `job_key` on every row this API's search endpoint returns, and `jk=` in an indeed.com/viewjob URL.","name":"jk","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IndeedJobResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"indeed","x-toolzer-verified":true}},"/v1/indeed/company":{"get":{"operationId":"Get Indeed Company","tags":["Indeed - Companies"],"summary":"Get company details","description":"Returns an employer's Indeed profile for required `slug` (the part after /cmp/, case-sensitive): company facts, ratings, sample reviews, hiring roles, locations, similar companies and the Work Happiness survey. `data` is `null` for an unknown slug.","parameters":[{"schema":{"type":"string","example":"Stripe","description":"The company's Indeed slug: the part after /cmp/ in the profile URL. Case-sensitive, and Indeed builds it from the company's own name, so punctuation is part of it (`Xebia-IT-Architects-India-Pvt.-Ltd` is a real profile). A full `/cmp/Stripe` path is accepted too."},"required":true,"description":"The company's Indeed slug: the part after /cmp/ in the profile URL. Case-sensitive, and Indeed builds it from the company's own name, so punctuation is part of it (`Xebia-IT-Architects-India-Pvt.-Ltd` is a real profile). A full `/cmp/Stripe` path is accepted too.","name":"slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IndeedCompanyResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"indeed","x-toolzer-verified":true}},"/v1/indeed/salaries":{"get":{"operationId":"Get Indeed Salaries","tags":["Indeed - Salaries"],"summary":"Search salaries","description":"Returns Indeed's salary aggregates for required `title`: national and regional distributions, percentiles, top-paying employers, city breakdowns and related titles. `location` narrows to one region but is rarely needed. `data` is `null` when Indeed has no data for the title.","parameters":[{"schema":{"type":"string","example":"software engineer","description":"The job title to price. Spaces are accepted and hyphenated for you, so `software engineer` and `software-engineer` are the same request."},"required":true,"description":"The job title to price. Spaces are accepted and hyphenated for you, so `software engineer` and `software-engineer` are the same request.","name":"title","in":"query"},{"schema":{"type":"string","example":"San Francisco, CA","description":"Optional city/state to scope the aggregates to. **Usually unnecessary**: a national call already carries a per-region breakdown for all 51 US regions in `regions`, so asking for one state costs a request and returns less."},"required":false,"description":"Optional city/state to scope the aggregates to. **Usually unnecessary**: a national call already carries a per-region breakdown for all 51 US regions in `regions`, so asking for one state costs a request and returns less.","name":"location","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IndeedSalariesResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"indeed","x-toolzer-verified":true}},"/v1/dice/search":{"get":{"operationId":"getDiceSearch","tags":["Dice - Search"],"summary":"Search jobs","description":"Returns one page of job listings for a query, optionally narrowed by location. `page` is real pagination, not a display slice — two consecutive pages of the same query return entirely different jobs. `results[].job_id` feeds straight into the Job endpoint.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"software engineer","description":"Search text, matched the same way dice.com's own search box does."},"required":true,"description":"Search text, matched the same way dice.com's own search box does.","name":"query","in":"query"},{"schema":{"type":"string","maxLength":120,"default":"","example":"New York, NY","description":"Free-text location filter. Omit for a nationwide search."},"required":false,"description":"Free-text location filter. Omit for a nationwide search.","name":"location","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":1,"example":1,"description":"One-based result page."},"required":false,"description":"One-based result page.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DiceSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"dice","x-toolzer-verified":true}},"/v1/dice/job":{"get":{"operationId":"getDiceJob","tags":["Dice - Job"],"summary":"Get job details","description":"Returns one job posting's full detail by `job_id` — the uuid a search result's `job_id` carries. `data` is null when the posting has expired.","parameters":[{"schema":{"type":"string","minLength":36,"maxLength":36,"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","example":"bba4ebb5-9b44-4f34-b325-7cf129466ac7","description":"The uuid Dice uses in /job-detail/<uuid> — the same value a search result's job_id carries."},"required":true,"description":"The uuid Dice uses in /job-detail/<uuid> — the same value a search result's job_id carries.","name":"job_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DiceJobResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"dice","x-toolzer-verified":true}},"/v1/seek/search":{"get":{"operationId":"getSeekSearch","tags":["Seek - Search"],"summary":"Search","description":"Search Seek job listings by keyword and optional location. Sponsored listings may repeat across pages; use `job_id` to get a listing's details.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"software engineer","description":"Search text, matched the same way seek.com.au's own search box does."},"required":true,"description":"Search text, matched the same way seek.com.au's own search box does.","name":"query","in":"query"},{"schema":{"type":"string","maxLength":120,"default":"","example":"Sydney NSW","description":"Free-text location filter. Omit for a nationwide search."},"required":false,"description":"Free-text location filter. Omit for a nationwide search.","name":"location","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":1,"example":1,"description":"1-indexed page of results. Honoured, but **not fully disjoint**: measured 2026-09-03, two consecutive pages of the same query shared 3 of 32 job ids — Seek pins some sponsored/featured listings across pages. De-duplicate by `results[].job_id` if you are paginating and collecting."},"required":false,"description":"1-indexed page of results. Honoured, but **not fully disjoint**: measured 2026-09-03, two consecutive pages of the same query shared 3 of 32 job ids — Seek pins some sponsored/featured listings across pages. De-duplicate by `results[].job_id` if you are paginating and collecting.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SeekSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"seek","x-toolzer-verified":true}},"/v1/seek/job":{"get":{"operationId":"getSeekJob","tags":["Seek - Job"],"summary":"Get job details","description":"Returns one job posting's full detail by `job_id` — the id a search result's `job_id` carries. `data` is null when the id does not exist.","parameters":[{"schema":{"type":"string","minLength":4,"maxLength":12,"pattern":"^\\d{4,12}$","example":"94059954","description":"The numeric id Seek uses in /job/<id> — the same value a search result's job_id carries."},"required":true,"description":"The numeric id Seek uses in /job/<id> — the same value a search result's job_id carries.","name":"job_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SeekJobResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"seek","x-toolzer-verified":true}},"/v1/seek/company":{"get":{"operationId":"getSeekCompany","tags":["Seek - Company"],"summary":"Get company profile","description":"Returns one employer's profile by `slug` — the slug from a company page URL, e.g. `cisco-systems-432649`. `data` is null when the slug does not exist.","parameters":[{"schema":{"type":"string","minLength":3,"maxLength":200,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*-\\d+$","example":"cisco-systems-432649","description":"The company's Seek slug — the part after /companies/ in the profile URL."},"required":true,"description":"The company's Seek slug — the part after /companies/ in the profile URL.","name":"slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SeekCompanyResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"seek","x-toolzer-verified":true}},"/v1/ziprecruiter/search":{"get":{"operationId":"getZiprecruiterSearch","tags":["ZipRecruiter - Search"],"summary":"Search jobs","description":"Browse a page of ZipRecruiter jobs for an optional location. Use a result's `company_url` to obtain the company value for the company-jobs endpoint.","parameters":[{"schema":{"type":"string","maxLength":100,"default":"","example":"Miami, FL","description":"US city, optionally with a state code. This selects the local job feed and may resolve to a nearby city in the same metro area. Omit for an unpinned feed."},"required":false,"description":"US city, optionally with a state code. This selects the local job feed and may resolve to a nearby city in the same metro area. Omit for an unpinned feed.","name":"location","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":1,"example":1,"description":"One-based results page."},"required":false,"description":"One-based results page.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ZiprecruiterSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ziprecruiter","x-toolzer-verified":true}},"/v1/ziprecruiter/company":{"get":{"operationId":"getZiprecruiterCompany","tags":["ZipRecruiter - Company"],"summary":"List company jobs","description":"List an employer's open roles for a city and state using values from a search result. An unknown company path returns `data: null`.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\s/]{1,200}$","example":"Maxim-Healthcare-Services","description":"Exact company path segment from a search result's `company_url` field."},"required":true,"description":"Exact company path segment from a search result's `company_url` field.","name":"company","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[^\\s/]{1,100}$","example":"Tampa","description":"The exact -in-<City>, path segment, e.g. 'Tampa' or 'Southwest-Ranches' — hyphenated the way ZipRecruiter renders it, not a display string with spaces."},"required":true,"description":"The exact -in-<City>, path segment, e.g. 'Tampa' or 'Southwest-Ranches' — hyphenated the way ZipRecruiter renders it, not a display string with spaces.","name":"city","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Za-z]{2}$","example":"FL","description":"The two-letter state code, e.g. 'FL'."},"required":true,"description":"The two-letter state code, e.g. 'FL'.","name":"state","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ZiprecruiterCompanyResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"ziprecruiter","x-toolzer-verified":true}},"/v1/glassdoor/jobs":{"get":{"operationId":"Search Glassdoor Jobs","tags":["Glassdoor - Jobs"],"summary":"Search jobs","description":"Returns Glassdoor job listings for `query` in one location, about 62 rows per search. Requires `loc_id`, Glassdoor's own location id — no location-name lookup is offered. No paging parameter; vary `query` and `loc_id` for more rows. `data` is null when the location id is invalid.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"software engineer","description":"What to search for, as free text — Glassdoor's own `sc.keyword`."},"required":true,"description":"What to search for, as free text — Glassdoor's own `sc.keyword`.","name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"example":1147401,"description":"Glassdoor location ID from the `locId` query parameter in a glassdoor.com search URL."},"required":true,"description":"Glassdoor location ID from the `locId` query parameter in a glassdoor.com search URL.","name":"loc_id","in":"query"},{"schema":{"type":"string","default":"C","example":"C","description":"What kind of place `loc_id` names — Glassdoor's `locT`. `C` city, `S` state, `N` nation, `M` metro. Must match the id: a city id sent with `S` does not search that city's state, it searches nothing useful."},"required":false,"description":"What kind of place `loc_id` names — Glassdoor's `locT`. `C` city, `S` state, `N` nation, `M` metro. Must match the id: a city id sent with `S` does not search that city's state, it searches nothing useful.","name":"loc_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GlassdoorJobsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"glassdoor","x-toolzer-verified":true}},"/v1/glassdoor/reviews":{"get":{"operationId":"Get Glassdoor Reviews","tags":["Glassdoor - Employers"],"summary":"List employer reviews","description":"Returns the employee reviews Glassdoor embeds on an employer's review page: the ten-dimension rating vector, `pros`, `cons`, `advice`, and reviewer details. Requires `employer_id` and `slug`. No paging parameter — see `coverage`. `data` is null when no reviews page exists for the id/slug.","parameters":[{"schema":{"type":"string","example":"671932","description":"Glassdoor's employer id — the number after `E` in `/Reviews/Stripe-Reviews-E671932.htm`, or after `IE` in `/Overview/Working-at-Stripe-EI_IE671932.11,17.htm`. Both spellings are accepted here and the prefix is stripped, so this endpoint takes whichever one you copied."},"required":true,"description":"Glassdoor's employer id — the number after `E` in `/Reviews/Stripe-Reviews-E671932.htm`, or after `IE` in `/Overview/Working-at-Stripe-EI_IE671932.11,17.htm`. Both spellings are accepted here and the prefix is stripped, so this endpoint takes whichever one you copied.","name":"employer_id","in":"query"},{"schema":{"type":"string","example":"Stripe","description":"Case-sensitive employer slug from the Glassdoor URL. Send it with `employer_id`; URL offset suffixes are computed automatically."},"required":true,"description":"Case-sensitive employer slug from the Glassdoor URL. Send it with `employer_id`; URL offset suffixes are computed automatically.","name":"slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GlassdoorReviewsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"glassdoor","x-toolzer-verified":true}},"/v1/glassdoor/overview":{"get":{"operationId":"Get Glassdoor Overview","tags":["Glassdoor - Employers"],"summary":"Get an employer overview","description":"Returns an employer's Glassdoor profile: the aggregate `rating`, plus company facts — headquarters, size, ownership type, revenue, founding year, industry, sector, description, mission, and CEO. Requires `employer_id` and `slug`. `data` is null when no overview page exists for the id and slug.","parameters":[{"schema":{"type":"string","example":"671932","description":"Glassdoor's employer id — the number after `E` in `/Reviews/Stripe-Reviews-E671932.htm`, or after `IE` in `/Overview/Working-at-Stripe-EI_IE671932.11,17.htm`. Both spellings are accepted here and the prefix is stripped, so this endpoint takes whichever one you copied."},"required":true,"description":"Glassdoor's employer id — the number after `E` in `/Reviews/Stripe-Reviews-E671932.htm`, or after `IE` in `/Overview/Working-at-Stripe-EI_IE671932.11,17.htm`. Both spellings are accepted here and the prefix is stripped, so this endpoint takes whichever one you copied.","name":"employer_id","in":"query"},{"schema":{"type":"string","example":"Stripe","description":"Case-sensitive employer slug from the Glassdoor URL. Send it with `employer_id`; URL offset suffixes are computed automatically."},"required":true,"description":"Case-sensitive employer slug from the Glassdoor URL. Send it with `employer_id`; URL offset suffixes are computed automatically.","name":"slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GlassdoorOverviewResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"glassdoor","x-toolzer-verified":true}},"/v1/glassdoor/salaries":{"get":{"operationId":"Get Glassdoor Salaries","tags":["Glassdoor - Salaries"],"summary":"Search salaries","description":"Returns salary distributions for a job `title` from Glassdoor's salary index: median total pay, base vs additional pay, estimated range, and percentiles. Rows are attached to a named employer where Glassdoor states one. `data` is null when Glassdoor holds no salary page for the title.","parameters":[{"schema":{"type":"string","example":"software engineer","description":"The job title to price. The human form is accepted and hyphenated for you, so \"Software Engineer\" and \"software-engineer\" are the same request."},"required":true,"description":"The job title to price. The human form is accepted and hyphenated for you, so \"Software Engineer\" and \"software-engineer\" are the same request.","name":"title","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GlassdoorSalariesResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"glassdoor","x-toolzer-verified":true}},"/v1/yelp/business":{"get":{"operationId":"Get Yelp Business","tags":["Yelp - Businesses"],"summary":"Get business","description":"Returns a business's Yelp profile: rating, categories, structured `address`, phone, price band and photos, keyed by the URL alias slug. `reviews` is always `null` (see `reviews_note`). Redirects are followed; `name` is the business returned. `data` is `null` if Yelp has no page for the slug.","parameters":[{"schema":{"type":"string","example":"tartine-bakery-san-francisco","description":"Business slug from its Yelp URL, the part after `/biz/`. A full Yelp URL also works. Old slugs redirect and still resolve; `name` in the response shows what was fetched."},"required":true,"description":"Business slug from its Yelp URL, the part after `/biz/`. A full Yelp URL also works. Old slugs redirect and still resolve; `name` in the response shows what was fetched.","name":"alias","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/YelpBusinessResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"yelp","x-toolzer-verified":true}},"/v1/yelp/search":{"get":{"operationId":"Search Yelp Businesses","tags":["Yelp - Search"],"summary":"Search businesses","description":"Runs a Yelp business search and returns one page of results, with Yelp's ranking and ads labelled. Organic rows carry only `business_id` and `alias`; only ads carry a populated `business` (see `hydration_note`). `start` must be a multiple of 10. `data` is `null` only if Yelp returned no page.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"coffee","description":"What to search for — Yelp's own `find_desc`. Free text: a category (\"coffee\", \"plumbers\") or a business name."},"required":true,"description":"What to search for — Yelp's own `find_desc`. Free text: a category (\"coffee\", \"plumbers\") or a business name.","name":"find_desc","in":"query"},{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"San Francisco, CA","description":"Where to search — Yelp's own `find_loc`. Free text, and deliberately not alphabet-restricted or coerced into a format, because people write a location every way there is: \"San Francisco, CA\", \"94110\", \"Mission District, San Francisco\"."},"required":true,"description":"Where to search — Yelp's own `find_loc`. Free text, and deliberately not alphabet-restricted or coerced into a format, because people write a location every way there is: \"San Francisco, CA\", \"94110\", \"Mission District, San Francisco\".","name":"find_loc","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":990,"default":0,"example":0,"description":"Result offset in steps of 10: `0`, `10`, `20`, and so on. Other values are rejected."},"required":false,"description":"Result offset in steps of 10: `0`, `10`, `20`, and so on. Other values are rejected.","name":"start","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/YelpSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"yelp","x-toolzer-verified":true}},"/v1/tripadvisor/list":{"get":{"operationId":"Get TripAdvisor List","tags":["TripAdvisor - Listings"],"summary":"List city properties","description":"Returns one page of a TripAdvisor location list. Requires `geo_id` and `location_slug` from the same TripAdvisor URL. `data` is null when no list page was served.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":99999999,"example":60713,"description":"TripAdvisor's id for the city or region — the `g` number in its URL, e.g. `geo_id=60713` for `/Hotels-g60713-San_Francisco_California-Hotels.html`. Each row also carries its own `geo_id`, which can differ from the one you asked for."},"required":true,"description":"TripAdvisor's id for the city or region — the `g` number in its URL, e.g. `geo_id=60713` for `/Hotels-g60713-San_Francisco_California-Hotels.html`. Each row also carries its own `geo_id`, which can differ from the one you asked for.","name":"geo_id","in":"query"},{"schema":{"type":"string","example":"San_Francisco_California","description":"The underscored place name from the same URL, e.g. `San_Francisco_California`. Required alongside `geo_id` because there is no lookup that turns a geo id into a slug. Trimmed of leading/trailing slashes only; otherwise used as given."},"required":true,"description":"The underscored place name from the same URL, e.g. `San_Francisco_California`. Required alongside `geo_id` because there is no lookup that turns a geo id into a slug. Trimmed of leading/trailing slashes only; otherwise used as given.","name":"location_slug","in":"query"},{"schema":{"type":"string","enum":["hotels","restaurants","attractions"],"default":"hotels","example":"hotels","description":"Which of the city's three list pages to read. `hotels` and `restaurants` rows are fully populated; `attractions` rows carry only `name` and coordinates. See `coverage` on the response."},"required":false,"description":"Which of the city's three list pages to read. `hotels` and `restaurants` rows are fully populated; `attractions` rows carry only `name` and coordinates. See `coverage` on the response.","name":"kind","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":2970,"default":0,"example":0,"description":"TripAdvisor's own `oa` cursor. Moves in steps of 30: page two is `offset=30`. Must be a multiple of 30 — a non-multiple is rejected rather than rounded."},"required":false,"description":"TripAdvisor's own `oa` cursor. Moves in steps of 30: page two is `offset=30`. Must be a multiple of 30 — a non-multiple is rejected rather than rounded.","name":"offset","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TripadvisorListResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tripadvisor","x-toolzer-verified":true}},"/v1/tripadvisor/detail":{"get":{"operationId":"Get TripAdvisor Detail","tags":["TripAdvisor - Detail"],"summary":"Get property details","description":"Returns one hotel or restaurant. Requires `geo_id`, `location_id` and `name_slug` from a `/tripadvisor/list` row — do not build these by hand. `data` is null when no property page was served.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":99999999,"example":60713,"description":"The `g` id from a `/tripadvisor/list` row, not invented."},"required":true,"description":"The `g` id from a `/tripadvisor/list` row, not invented.","name":"geo_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":999999999,"example":115623,"description":"The `d` id from the same list row."},"required":true,"description":"The `d` id from the same list row.","name":"location_id","in":"query"},{"schema":{"type":"string","enum":["hotels","restaurants"],"default":"hotels","example":"hotels","description":"Must match the `kind` the list row came from."},"required":false,"description":"Must match the `kind` the list row came from.","name":"kind","in":"query"},{"schema":{"type":"string","example":"Chancellor_Hotel_on_Union_Square-San_Francisco_California","description":"The segment after `-Reviews-` in a list row's `url`, e.g. from `HotelHighlight-g60713-d115623-Reviews-Chancellor_Hotel_on_Union_Square-San_Francisco_California.html`. Take it from a `/tripadvisor/list` row rather than building one — a hand-built id redirects to an unrelated property."},"required":true,"description":"The segment after `-Reviews-` in a list row's `url`, e.g. from `HotelHighlight-g60713-d115623-Reviews-Chancellor_Hotel_on_Union_Square-San_Francisco_California.html`. Take it from a `/tripadvisor/list` row rather than building one — a hand-built id redirects to an unrelated property.","name":"name_slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TripadvisorDetailResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"tripadvisor","x-toolzer-verified":true}},"/v1/booking/hotel":{"get":{"operationId":"Get Booking Hotel","tags":["Booking - Properties"],"summary":"Get property details","description":"Returns one Booking.com property by `slug` and `country_code` (default `us`): guest score, subscore breakdown, address, description, photo and up to ten featured reviews. `data` is `null` if the slug/country combination doesn't exist. For prices, use `/booking/search` with `checkin`/`checkout`.","parameters":[{"schema":{"type":"string","example":"luma-san-francisco","description":"Property slug or full Booking.com property URL. Search results provide `slug` and its matching `country_code`; send both values."},"required":true,"description":"Property slug or full Booking.com property URL. Search results provide `slug` and its matching `country_code`; send both values.","name":"slug","in":"query"},{"schema":{"type":"string","default":"us","example":"us","description":"Two-letter country code from the property URL. It must match `slug`; a slug under the wrong country returns `data: null`."},"required":false,"description":"Two-letter country code from the property URL. It must match `slug`; a slug under the wrong country returns `data: null`.","name":"country_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BookingHotelResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"booking","x-toolzer-verified":true}},"/v1/booking/search":{"get":{"operationId":"Search Booking Properties","tags":["Booking - Search"],"summary":"Search properties","description":"Searches Booking.com for `destination` and returns one page of properties with coordinates, address, star rating, review count, description, photo and paid-placement markers. Supports real pagination via `offset`/`rows_per_page`. Prices require `checkin` and `checkout`.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":120,"example":"San Francisco","description":"City, region, neighbourhood, or country to search for, as free text."},"required":true,"description":"City, region, neighbourhood, or country to search for, as free text.","name":"destination","in":"query"},{"schema":{"type":"string","example":"2026-09-10","description":"Arrival date, `YYYY-MM-DD`. Optional; with dates the search returns availability and prices for that stay, without them every row's `price` is null. Must be given together with `checkout`, which must be after it. No other range checking is done."},"required":false,"description":"Arrival date, `YYYY-MM-DD`. Optional; with dates the search returns availability and prices for that stay, without them every row's `price` is null. Must be given together with `checkout`, which must be after it. No other range checking is done.","name":"checkin","in":"query"},{"schema":{"type":"string","example":"2026-09-12","description":"Departure date, `YYYY-MM-DD`. Must be given together with `checkin` and must be after it."},"required":false,"description":"Departure date, `YYYY-MM-DD`. Must be given together with `checkin` and must be after it.","name":"checkout","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":30,"default":2,"example":2,"description":"Guests in the party. Booking's own `nbAdults`; it affects which properties can accommodate the search and what they cost."},"required":false,"description":"Guests in the party. Booking's own `nbAdults`; it affects which properties can accommodate the search and what they cost.","name":"adults","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":30,"default":1,"example":1,"description":"Rooms wanted. Booking's own `nbRooms`."},"required":false,"description":"Rooms wanted. Booking's own `nbRooms`.","name":"rooms","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":10000,"default":0,"example":0,"description":"Row offset for pagination, in steps of `rows_per_page`. This calls Booking's own search API, not the search page, which cannot paginate at all. Read `total_results` and `has_more` to know when to stop — depth varies by destination. Capped at 10000 as a sanity bound, not a measured limit."},"required":false,"description":"Row offset for pagination, in steps of `rows_per_page`. This calls Booking's own search API, not the search page, which cannot paginate at all. Read `total_results` and `has_more` to know when to stop — depth varies by destination. Capped at 10000 as a sanity bound, not a measured limit.","name":"offset","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":25,"description":"How many properties to return, 1-100. Booking's own frontend sends 25, which is the default here; 100 is measured working and turns a 353-property city into four calls instead of fifteen. It is not raised past the largest value actually measured."},"required":false,"description":"How many properties to return, 1-100. Booking's own frontend sends 25, which is the default here; 100 is measured working and turns a 353-property city into four calls instead of fifteen. It is not raised past the largest value actually measured.","name":"rows_per_page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BookingSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"booking","x-toolzer-verified":true}},"/v1/builtwith/profile":{"get":{"operationId":"Get BuiltWith Profile","tags":["BuiltWith"],"summary":"Get a technology profile","description":"Returns one domain's current and historical technology detections, category labels, first and last seen dates, and BuiltWith's monthly spend estimate. Requires `domain`. Redacted detections remain counted and carry `name: null`. `data` is null when no profile exists.","parameters":[{"schema":{"type":"string","minLength":3,"maxLength":500,"example":"openai.com","description":"The website hostname. A full URL is accepted and reduced to its hostname."},"required":true,"description":"The website hostname. A full URL is accepted and reduced to its hostname.","name":"domain","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BuiltWithProfileResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"builtwith","x-toolzer-verified":true}},"/v1/trustpilot/company":{"get":{"operationId":"Get Trustpilot Company","tags":["Trustpilot - Companies"],"summary":"Get company and reviews","description":"Returns one company's Trustpilot record and 20 reviews per page. `business_unit.activity.reply_behavior` reports reply rate and response time — not shown on Trustpilot's own page. Requires `domain`. `data` is null when Trustpilot has no page for it.","parameters":[{"schema":{"type":"string","example":"www.amazon.com","description":"The company's key exactly as Trustpilot spells it, e.g. `www.amazon.com` — the `www.` is part of the key. May include a path for a distinct company, e.g. `rac.co.uk/insurance` vs `rac.co.uk`. Accepts a pasted Trustpilot URL or any `identifying_name` value."},"required":true,"description":"The company's key exactly as Trustpilot spells it, e.g. `www.amazon.com` — the `www.` is part of the key. May include a path for a distinct company, e.g. `rac.co.uk/insurance` vs `rac.co.uk`. Accepts a pasted Trustpilot URL or any `identifying_name` value.","name":"domain","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":10000,"default":1,"example":1,"description":"Page of reviews, 20 per page. Use `total_pages` and `has_more` to know when to stop."},"required":false,"description":"Page of reviews, 20 per page. Use `total_pages` and `has_more` to know when to stop.","name":"page","in":"query"},{"schema":{"type":"string","enum":["recency","relevance"],"example":"relevance","description":"Ordering — default is `recency`; `relevance` reorders. Only these two values are accepted: Trustpilot answers an unknown value with 200 and default ordering rather than an error, so this validates instead of passing it through. Omit it and `effective_sort` reports what was used."},"required":false,"description":"Ordering — default is `recency`; `relevance` reorders. Only these two values are accepted: Trustpilot answers an unknown value with 200 and default ordering rather than an error, so this validates instead of passing it through. Omit it and `effective_sort` reports what was used.","name":"sort","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrustpilotCompanyResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"trustpilot","x-toolzer-verified":true}},"/v1/trustpilot/search":{"get":{"operationId":"Get Trustpilot Search","tags":["Trustpilot - Discovery"],"summary":"Search companies","description":"Free-text company search, 10 results per page with TrustScore, rating, location and contact details. Requires `query`. `data` is null only when Trustpilot serves no results page; a query matching nothing returns an empty `results` array.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"insurance","description":"Company name, brand or keyword. Use this when you have a name rather than a domain or category. 1-200 characters."},"required":true,"description":"Company name, brand or keyword. Use this when you have a name rather than a domain or category. 1-200 characters.","name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":10000,"default":1,"example":1,"description":"Which page of results, 10 per page — not 20 like other listings. Walk by `has_more`, not Trustpilot's raw `hasMore` (measured `false` on page 1 of 978 pages). Pages overlap; deduplicate on `business_unit_id` — see `pages_overlap`."},"required":false,"description":"Which page of results, 10 per page — not 20 like other listings. Walk by `has_more`, not Trustpilot's raw `hasMore` (measured `false` on page 1 of 978 pages). Pages overlap; deduplicate on `business_unit_id` — see `pages_overlap`.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrustpilotSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"trustpilot","x-toolzer-verified":true}},"/v1/trustpilot/category":{"get":{"operationId":"Get Trustpilot Category","tags":["Trustpilot - Discovery"],"summary":"List category companies","description":"Returns one page of a Trustpilot category directory: 20 companies with TrustScore, rating, review count, location and claim status, in Trustpilot's own ranking. Requires `slug`. `data` is null when Trustpilot has no page for that slug.","parameters":[{"schema":{"type":"string","example":"bank","description":"The category slug from a Trustpilot URL — the `bank` in `/categories/bank`. Lowercase words joined by underscores, so `travel_insurance_company` is one too. A pasted category URL is accepted and reduced to the slug for you."},"required":true,"description":"The category slug from a Trustpilot URL — the `bank` in `/categories/bank`. Lowercase words joined by underscores, so `travel_insurance_company` is one too. A pasted category URL is accepted and reduced to the slug for you.","name":"slug","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":10000,"default":1,"example":1,"description":"Which page of the directory. Read `total_hits` to size the walk — the sampled category reported 1,713 companies."},"required":false,"description":"Which page of the directory. Read `total_hits` to size the walk — the sampled category reported 1,713 companies.","name":"page","in":"query"},{"schema":{"type":"string","example":"US","description":"Two-letter country code to filter the directory, e.g. `US`. Omit it to let Trustpilot choose."},"required":false,"description":"Two-letter country code to filter the directory, e.g. `US`. Omit it to let Trustpilot choose.","name":"country","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrustpilotCategoryResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"trustpilot","x-toolzer-verified":true}},"/v1/trustpilot/domains":{"get":{"operationId":"Get Trustpilot Domains","tags":["Trustpilot - Discovery"],"summary":"List company domains","description":"Returns a window of Trustpilot's complete company index — all 874,063 keys, each the exact string `/trustpilot/company` takes as `domain`. Names only, no score or review count. Paginate with `shard`, `offset` and `limit`.","parameters":[{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":17,"default":0,"example":0,"description":"Sitemap shard to read, `0`-`17`. Each response reports `shard_count` and `shard_total` so you can plan a full walk."},"required":false,"description":"Sitemap shard to read, `0`-`17`. Each response reports `shard_count` and `shard_total` so you can plan a full walk.","name":"shard","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":1000000,"default":0,"example":0,"description":"Where to start inside the shard. Move it in steps of `limit`; `has_more` says whether there is anything after this window.\n\nAn offset past the end of a shard is a normal, empty response with `has_more: false` — the end of a list, not an error."},"required":false,"description":"Where to start inside the shard. Move it in steps of `limit`; `has_more` says whether there is anything after this window.\n\nAn offset past the end of a shard is a normal, empty response with `has_more: false` — the end of a list, not an error.","name":"offset","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50000,"default":1000,"example":1000,"description":"How many domains to return, 1-50,000. The default is 1000 because the common use is \"start walking\" rather than \"hand me everything\"; the maximum is a whole shard in one call."},"required":false,"description":"How many domains to return, 1-50,000. The default is 1000 because the common use is \"start walking\" rather than \"hand me everything\"; the maximum is a whole shard in one call.","name":"limit","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrustpilotDomainsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"trustpilot","x-toolzer-verified":true}},"/v1/similarweb/website":{"get":{"operationId":"Get Similarweb Website","tags":["Similarweb"],"summary":"Get website analytics","description":"Returns one domain's public monthly traffic, engagement, ranks, sources, geography, audience, competitors, search, referral and technology signals. Requires `domain`. `data` is null when Similarweb has no public page for it.","parameters":[{"schema":{"type":"string","minLength":3,"maxLength":500,"example":"openai.com","description":"The website hostname. A full URL is accepted and reduced to its hostname."},"required":true,"description":"The website hostname. A full URL is accepted and reduced to its hostname.","name":"domain","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SimilarwebWebsiteResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"similarweb","x-toolzer-verified":true}},"/v1/similarweb/top-websites":{"get":{"operationId":"Get Similarweb Top Websites","tags":["Similarweb"],"summary":"List global top websites","description":"Returns Similarweb's current global top 50 websites with rank movement, category, visit duration, pages per visit and bounce rate. The response states the monthly snapshot date.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SimilarwebTopWebsitesResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"similarweb","x-toolzer-verified":true}},"/v1/semrush/website":{"get":{"operationId":"Get Semrush Website","tags":["Semrush"],"summary":"Get website traffic and SEO profile","description":"Returns one domain's Semrush profile in a single call — ranks, authority score, traffic, engagement, keywords, backlinks, competitors, referral sources and AI referral traffic, most with history. Requires `domain`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"stripe.com","description":"Website domain, e.g. `stripe.com`. A full URL also works. `www.` is removed; other subdomains usually have no page and return `null`."},"required":true,"description":"Website domain, e.g. `stripe.com`. A full URL also works. `www.` is removed; other subdomains usually have no page and return `null`.","name":"domain","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SemrushWebsiteResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"semrush","x-toolzer-verified":true}},"/v1/semrush/competitors":{"get":{"operationId":"Get Semrush Competitors","tags":["Semrush"],"summary":"List competitors","description":"Returns the rivals Semrush names for a domain, each with the same metric set as the domain itself — visits, authority score, bounce rate, time on site, pages per visit and all three ranks — so the two are directly comparable. Requires `domain`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"stripe.com","description":"Website domain, e.g. `stripe.com`. A full URL also works. `www.` is removed; other subdomains usually have no page and return `null`."},"required":true,"description":"Website domain, e.g. `stripe.com`. A full URL also works. `www.` is removed; other subdomains usually have no page and return `null`.","name":"domain","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SemrushCompetitorsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"semrush","x-toolzer-verified":true}},"/v1/semrush/trending":{"get":{"operationId":"Get Semrush Trending","tags":["Semrush"],"summary":"List top websites","description":"Returns the 100 most visited websites for a country and industry, with visits, desktop and mobile split, month-on-month and year-on-year change and the leading traffic source. Defaults to every industry worldwide.","parameters":[{"schema":{"type":"string","maxLength":20,"default":"global","example":"us","description":"Two-letter lowercase country code (e.g. `us`, `de`) or `global`. Every response lists valid codes in `available_countries`. An unknown code returns `null`."},"required":false,"description":"Two-letter lowercase country code (e.g. `us`, `de`) or `global`. Every response lists valid codes in `available_countries`. An unknown code returns `null`.","name":"country","in":"query"},{"schema":{"type":"string","maxLength":80,"default":"all","example":"finance","description":"An industry slug, e.g. `finance`, `travel-and-tourism`, `retail`, or `all` for every industry. Semrush publishes 111 of them and **every response lists the whole set in `available_categories`**. An unknown slug has no page and returns `null`."},"required":false,"description":"An industry slug, e.g. `finance`, `travel-and-tourism`, `retail`, or `all` for every industry. Semrush publishes 111 of them and **every response lists the whole set in `available_categories`**. An unknown slug has no page and returns `null`.","name":"category","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SemrushTrendingResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"semrush","x-toolzer-verified":true}},"/v1/g2/category":{"get":{"operationId":"Get G2 Category","tags":["G2"],"summary":"List category products","description":"Returns one page of a software category — product name, slug, aggregate rating, review count, price band, and the traits reviewers praise and complain about. Requires `slug`. Each row's `slug` feeds /v1/g2/reviews. Fifteen products a page, with no stated total.","parameters":[{"schema":{"type":"string","maxLength":200,"example":"crm","description":"A G2 category slug, e.g. `crm`, or the URL containing one. Every `related_categories` entry and every breadcrumb in the response carries a slug this endpoint takes."},"required":true,"description":"A G2 category slug, e.g. `crm`, or the URL containing one. Every `related_categories` entry and every breadcrumb in the response carries a slug this endpoint takes.","name":"slug","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"1-based. Fifteen products a page, and pages do not overlap — measured, page 2 of `/categories/crm` held fifteen products, none of them on page 1. G2 states no page count, so walk until a page returns fewer than 15."},"required":false,"description":"1-based. Fifteen products a page, and pages do not overlap — measured, page 2 of `/categories/crm` held fifteen products, none of them on page 1. G2 states no page count, so walk until a page returns fewer than 15.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/G2CategoryResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"g2","x-toolzer-verified":true}},"/v1/g2/reviews":{"get":{"operationId":"Get G2 Reviews","tags":["G2"],"summary":"List product reviews","description":"Returns one page of a product's reviews — title, rating, dates, the reviewer's role and company size, and the three answers G2 collects, both merged and split apart. Requires `slug`. Ten a page; walk with `has_more` and deduplicate on review `id`.","parameters":[{"schema":{"type":"string","maxLength":200,"example":"pipedrive","description":"A G2 product slug, e.g. `pipedrive`, or the URL containing one. **Every `/v1/g2/category` row publishes exactly this as `slug`**, which is how the two endpoints compose — G2 slugs run to `agentforce-sales-formerly-salesforce-sales-cloud` and are not derivable from a product name."},"required":true,"description":"A G2 product slug, e.g. `pipedrive`, or the URL containing one. **Every `/v1/g2/category` row publishes exactly this as `slug`**, which is how the two endpoints compose — G2 slugs run to `agentforce-sales-formerly-salesforce-sales-cloud` and are not derivable from a product name.","name":"slug","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"1-based. Ten reviews a page, and pages do not overlap — measured, pages 1, 2 and 3 of one product shared no review ids at all. Walk with `has_more`/`next_page` rather than with a page count; G2 states none."},"required":false,"description":"1-based. Ten reviews a page, and pages do not overlap — measured, pages 1, 2 and 3 of one product shared no review ids at all. Walk with `has_more`/`next_page` rather than with a page count; G2 states none.","name":"page","in":"query"},{"schema":{"type":"string","enum":["g2_default","most_recent","most_helpful","highest_rated","lowest_rated"],"default":"g2_default","example":"g2_default","description":"G2's own review ordering. `g2_default` is the relevance order the site serves with no parameter at all; `most_recent` is the one a walk usually wants, because relevance ordering is not a stable sequence to page through."},"required":false,"description":"G2's own review ordering. `g2_default` is the relevance order the site serves with no parameter at all; `most_recent` is the one a walk usually wants, because relevance ordering is not a stable sequence to page through.","name":"order","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/G2ReviewsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"g2","x-toolzer-verified":true}},"/v1/capterra/category":{"get":{"operationId":"Get Capterra Category","tags":["Capterra"],"summary":"List category products","description":"Returns one page of a software category — product name, id, slug, rating, review count and the listing blurb. Requires `slug`, suffix included. Each row's `product_id` and `slug` feed /v1/capterra/profile and /v1/capterra/reviews. 25 products a page; walk with `page_limit`.","parameters":[{"schema":{"type":"string","maxLength":200,"example":"project-management-software","description":"A Capterra category slug, **suffix included** — `project-management-software`, not `project-management`. Every breadcrumb the other two endpoints publish carries a slug this one takes, and the URL containing one is accepted too."},"required":true,"description":"A Capterra category slug, **suffix included** — `project-management-software`, not `project-management`. Every breadcrumb the other two endpoints publish carries a slug this one takes, and the URL containing one is accepted too.","name":"slug","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"1-based. Twenty-five products a page. Walk with `page_limit`, not with `total_products` — the two disagree by design."},"required":false,"description":"1-based. Twenty-five products a page. Walk with `page_limit`, not with `total_products` — the two disagree by design.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"slug":{"type":"string","example":"project-management-software"},"page":{"type":"number","example":1},"page_size":{"type":"number","example":25},"name":{"type":"string","nullable":true,"example":"Best Project Management"},"url":{"type":"string","nullable":true,"example":"https://www.capterra.com/project-management-software/"},"total_products":{"type":"number","nullable":true,"example":1227,"description":"Capterra's total product count for the category. Pagination may expose fewer products; use `page_limit`."},"page_limit":{"type":"number","nullable":true,"example":26,"description":"The last page Capterra's own pagination control links to. This is the number to walk to."},"has_more":{"type":"boolean","example":true,"description":"Whether `page + 1` is within `page_limit`."},"products":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number","nullable":true,"example":1,"description":"1-based rank within this page, as Capterra ordered it."},"name":{"type":"string","nullable":true,"example":"monday.com AI Work Platform"},"product_id":{"type":"string","nullable":true,"example":"147657","description":"**One half of what `/v1/capterra/profile` and `/v1/capterra/reviews` take.** Published as a string because it is a URL segment, not a quantity."},"slug":{"type":"string","nullable":true,"example":"monday-com","description":"**The other half, verbatim and case-sensitive.** Together with `product_id` this is what makes the endpoints compose."},"url":{"type":"string","nullable":true,"example":"https://www.capterra.com/p/147657/monday-com/"},"summary":{"type":"string","nullable":true,"example":"monday.com centralizes work, and automates tasks, allowing teams to manage the entire project lifecycle in one place.","description":"The one-line blurb on the listing card. Null when absent."},"rating":{"type":"number","nullable":true,"example":4.6,"description":"Out of `best_rating`, from the listing card's rating badge."},"best_rating":{"type":"number","nullable":true,"example":5},"review_count":{"type":"number","nullable":true,"example":6095,"description":"Reviews across the whole product, as the card states it."},"shortlisted":{"type":"boolean","nullable":true,"example":true,"description":"Whether Capterra puts this product on the category's own Shortlist."}},"required":["position","name","product_id","slug","url","summary","rating","best_rating","review_count","shortlisted"]}},"breadcrumbs":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number","nullable":true,"example":2},"name":{"type":"string","nullable":true,"example":"Project Planning Software"},"url":{"type":"string","nullable":true,"example":"https://www.capterra.com/project-planning-software/","description":"Null on the last crumb, which is the page itself."},"slug":{"type":"string","nullable":true,"example":"project-planning-software","description":"The value `/v1/capterra/category` takes, filled in only when the crumb is genuinely a category — null for the site root and for the product."}},"required":["position","name","url","slug"]}},"faq":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string","nullable":true,"example":"What are the key features of monday.com?"},"answer":{"type":"string","nullable":true,"example":"monday.com offers project and portfolio management features ..."}},"required":["question","answer"]},"description":"Capterra's own category Q&A. Empty when the page states none."},"usage_note":{"type":"string","example":"Each product's product_id and slug are exactly what /v1/capterra/profile and /v1/capterra/reviews take, so no URL is ever built. total_products is Capterra's count of the whole taxonomy and is larger than what the listing serves — walk to page_limit, the last page Capterra's own pagination links to. rating, review_count and summary come from the listing card and can be null; name and product_id cannot."}},"required":["slug","page","page_size","name","url","total_products","page_limit","has_more","products","breadcrumbs","faq","usage_note"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"capterra","x-toolzer-verified":true}},"/v1/capterra/profile":{"get":{"operationId":"Get Capterra Profile","tags":["Capterra"],"summary":"Get a product profile","description":"Returns a product's description, schema.org category, Capterra's own breadcrumb category, rating summary and FAQ. Requires `product_id` and `slug`, or a full profile URL in `product_id`. Carries no reviews — call /v1/capterra/reviews for those.","parameters":[{"schema":{"type":"string","maxLength":200,"example":"147657","description":"Numeric ID from a Capterra product URL or category result. A full product URL is also accepted and supplies `slug`."},"required":true,"description":"Numeric ID from a Capterra product URL or category result. A full product URL is also accepted and supplies `slug`.","name":"product_id","in":"query"},{"schema":{"type":"string","maxLength":200,"example":"monday-com","description":"The name half of a Capterra product URL, e.g. `monday-com`. **Case-sensitive** — Capterra spells these `monday-com`, `Structure`, `Asana-PM`, and they are not derivable from a product name. Optional when `product_id` is a full profile URL."},"required":false,"description":"The name half of a Capterra product URL, e.g. `monday-com`. **Case-sensitive** — Capterra spells these `monday-com`, `Structure`, `Asana-PM`, and they are not derivable from a product name. Optional when `product_id` is a full profile URL.","name":"slug","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"product_id":{"type":"string","example":"147657"},"slug":{"type":"string","example":"monday-com"},"url":{"type":"string","example":"https://www.capterra.com/p/147657/monday-com/"},"name":{"type":"string","nullable":true,"example":"monday.com AI Work Platform"},"description":{"type":"string","nullable":true,"example":"monday.com is a work OS that powers teams to run projects ...","description":"The vendor's full product description, as Capterra hosts it."},"application_category":{"type":"string","nullable":true,"example":"BusinessApplication","description":"schema.org's coarse category. Not Capterra's taxonomy."},"operating_systems":{"type":"array","items":{"type":"string"},"example":["Windows","macOS"],"description":"Empty when the page states none."},"rating":{"type":"object","nullable":true,"properties":{"value":{"type":"number","nullable":true,"example":4.6,"description":"The rating, on the scale `best_rating` names."},"best_rating":{"type":"number","nullable":true,"example":5,"description":"The top of the scale. Capterra rates out of 5 throughout."},"worst_rating":{"type":"number","nullable":true,"example":1},"review_count":{"type":"number","nullable":true,"example":6095,"description":"How many reviews the average is computed from, across the whole product — not how many are on this page."}},"required":["value","best_rating","worst_rating","review_count"]},"category":{"type":"object","nullable":true,"properties":{"position":{"type":"number","nullable":true,"example":2},"name":{"type":"string","nullable":true,"example":"Project Planning Software"},"url":{"type":"string","nullable":true,"example":"https://www.capterra.com/project-planning-software/","description":"Null on the last crumb, which is the page itself."},"slug":{"type":"string","nullable":true,"example":"project-planning-software","description":"The value `/v1/capterra/category` takes, filled in only when the crumb is genuinely a category — null for the site root and for the product."}},"required":["position","name","url","slug"],"description":"**Capterra's own taxonomy category for this product**, taken from the breadcrumb — its `slug` is what `/v1/capterra/category` takes. Null when the product sits at the root."},"breadcrumbs":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number","nullable":true,"example":2},"name":{"type":"string","nullable":true,"example":"Project Planning Software"},"url":{"type":"string","nullable":true,"example":"https://www.capterra.com/project-planning-software/","description":"Null on the last crumb, which is the page itself."},"slug":{"type":"string","nullable":true,"example":"project-planning-software","description":"The value `/v1/capterra/category` takes, filled in only when the crumb is genuinely a category — null for the site root and for the product."}},"required":["position","name","url","slug"]}},"faq":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string","nullable":true,"example":"What are the key features of monday.com?"},"answer":{"type":"string","nullable":true,"example":"monday.com offers project and portfolio management features ..."}},"required":["question","answer"]},"description":"Capterra's product Q&A, which the reviews page does not carry."},"teaser_reviews":{"type":"array","items":{"type":"object","properties":{"author":{"type":"string","nullable":true,"example":"Paul H.","description":"Capterra publishes first name and last initial, or \"Verified Reviewer\"."},"role":{"type":"string","nullable":true,"example":"Creative Director","description":"The reviewer's job title, as they gave it."},"industry":{"type":"string","nullable":true,"example":"Design"},"used_for":{"type":"string","nullable":true,"example":"2+ years","description":"How long the reviewer used the product — Capterra's own bands, e.g. \"2+ years\", \"6-12 months\", \"I used a free trial\"."},"title":{"type":"string","nullable":true,"example":"Trust monday.com for project management and be guaranteed of success.","description":"The review's headline. **This, not `body`, is what Capterra's structured data calls `reviewBody`.**"},"date":{"type":"string","nullable":true,"example":"June 15, 2026","description":"As Capterra prints it. Not normalised to ISO 8601."},"rating":{"type":"number","nullable":true,"example":5,"description":"The reviewer's overall score, out of `best_rating`."},"best_rating":{"type":"number","nullable":true,"example":5},"criteria_ratings":{"type":"object","additionalProperties":{"type":"number"},"example":{"Overall Rating":5,"Ease of Use":5,"Customer Service":5,"Features":5,"Value for Money":5},"description":"The per-criterion scores behind the overall one, keyed by Capterra's own labels. `Customer Service` is absent on reviews where the reviewer skipped it."},"likelihood_to_recommend":{"type":"number","nullable":true,"example":9,"description":"Capterra's NPS-style question. Out of 10, not out of 5."},"body":{"type":"string","nullable":true,"example":"Our organization has benefited massively from our partnership with monday.com ...","description":"The reviewer's overall comment, **read from the page's markup**. Paragraph breaks are preserved as newlines."},"pros":{"type":"string","nullable":true,"example":"It was easy to setup and customize it to fit our existing work setup ...","description":"What the reviewer liked. From the markup, not from ld+json."},"cons":{"type":"string","nullable":true,"example":"We have seen no issues with monday.com so far ...","description":"What the reviewer disliked. From the markup."},"source":{"type":"string","nullable":true,"example":"Incentivized review","description":"How Capterra collected the review, where it labels one. Null when it states nothing."}},"required":["author","role","industry","used_for","title","date","rating","best_rating","criteria_ratings","likelihood_to_recommend","body","pros","cons","source"]},"description":"The five reviews Capterra shows on the profile; `/v1/capterra/reviews` never repeats them. Empty when the page shows none."},"usage_note":{"type":"string","example":"This page carries the rating summary and five reviews (teaser_reviews) that /v1/capterra/reviews does not repeat. Call /v1/capterra/reviews with the same product_id and slug for the reviews themselves. category.slug is what /v1/capterra/category takes."}},"required":["product_id","slug","url","name","description","application_category","operating_systems","rating","category","breadcrumbs","faq","teaser_reviews","usage_note"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"capterra","x-toolzer-verified":true}},"/v1/capterra/reviews":{"get":{"operationId":"Get Capterra Reviews","tags":["Capterra"],"summary":"List product reviews","description":"Returns one page of a product's reviews — title, overall and per-criterion ratings, full text, pros, cons, date, and the reviewer's role, industry and usage length. Requires `product_id` and `slug`. 25 a page; walk with `has_more`.","parameters":[{"schema":{"type":"string","maxLength":200,"example":"147657","description":"Numeric ID from a Capterra product URL or category result. A full product URL is also accepted and supplies `slug`."},"required":true,"description":"Numeric ID from a Capterra product URL or category result. A full product URL is also accepted and supplies `slug`.","name":"product_id","in":"query"},{"schema":{"type":"string","maxLength":200,"example":"monday-com","description":"The name half of a Capterra product URL, e.g. `monday-com`. **Case-sensitive** — Capterra spells these `monday-com`, `Structure`, `Asana-PM`, and they are not derivable from a product name. Optional when `product_id` is a full profile URL."},"required":false,"description":"The name half of a Capterra product URL, e.g. `monday-com`. **Case-sensitive** — Capterra spells these `monday-com`, `Structure`, `Asana-PM`, and they are not derivable from a product name. Optional when `product_id` is a full profile URL.","name":"slug","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":1,"example":1,"description":"One-based page of 25 reviews, capped at 100."},"required":false,"description":"One-based page of 25 reviews, capped at 100.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"product_id":{"type":"string","example":"147657"},"slug":{"type":"string","example":"monday-com"},"page":{"type":"number","example":1},"page_size":{"type":"number","example":25},"product":{"type":"object","properties":{"name":{"type":"string","nullable":true,"example":"monday.com AI Work Platform"},"description":{"type":"string","nullable":true},"rating":{"type":"object","nullable":true,"properties":{"value":{"type":"number","nullable":true,"example":4.6,"description":"The rating, on the scale `best_rating` names."},"best_rating":{"type":"number","nullable":true,"example":5,"description":"The top of the scale. Capterra rates out of 5 throughout."},"worst_rating":{"type":"number","nullable":true,"example":1},"review_count":{"type":"number","nullable":true,"example":6095,"description":"How many reviews the average is computed from, across the whole product — not how many are on this page."}},"required":["value","best_rating","worst_rating","review_count"]},"breadcrumbs":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number","nullable":true,"example":2},"name":{"type":"string","nullable":true,"example":"Project Planning Software"},"url":{"type":"string","nullable":true,"example":"https://www.capterra.com/project-planning-software/","description":"Null on the last crumb, which is the page itself."},"slug":{"type":"string","nullable":true,"example":"project-planning-software","description":"The value `/v1/capterra/category` takes, filled in only when the crumb is genuinely a category — null for the site root and for the product."}},"required":["position","name","url","slug"]}}},"required":["name","description","rating","breadcrumbs"]},"reviews":{"type":"array","items":{"type":"object","properties":{"author":{"type":"string","nullable":true,"example":"Paul H.","description":"Capterra publishes first name and last initial, or \"Verified Reviewer\"."},"role":{"type":"string","nullable":true,"example":"Creative Director","description":"The reviewer's job title, as they gave it."},"industry":{"type":"string","nullable":true,"example":"Design"},"used_for":{"type":"string","nullable":true,"example":"2+ years","description":"How long the reviewer used the product — Capterra's own bands, e.g. \"2+ years\", \"6-12 months\", \"I used a free trial\"."},"title":{"type":"string","nullable":true,"example":"Trust monday.com for project management and be guaranteed of success.","description":"The review's headline. **This, not `body`, is what Capterra's structured data calls `reviewBody`.**"},"date":{"type":"string","nullable":true,"example":"June 15, 2026","description":"As Capterra prints it. Not normalised to ISO 8601."},"rating":{"type":"number","nullable":true,"example":5,"description":"The reviewer's overall score, out of `best_rating`."},"best_rating":{"type":"number","nullable":true,"example":5},"criteria_ratings":{"type":"object","additionalProperties":{"type":"number"},"example":{"Overall Rating":5,"Ease of Use":5,"Customer Service":5,"Features":5,"Value for Money":5},"description":"The per-criterion scores behind the overall one, keyed by Capterra's own labels. `Customer Service` is absent on reviews where the reviewer skipped it."},"likelihood_to_recommend":{"type":"number","nullable":true,"example":9,"description":"Capterra's NPS-style question. Out of 10, not out of 5."},"body":{"type":"string","nullable":true,"example":"Our organization has benefited massively from our partnership with monday.com ...","description":"The reviewer's overall comment, **read from the page's markup**. Paragraph breaks are preserved as newlines."},"pros":{"type":"string","nullable":true,"example":"It was easy to setup and customize it to fit our existing work setup ...","description":"What the reviewer liked. From the markup, not from ld+json."},"cons":{"type":"string","nullable":true,"example":"We have seen no issues with monday.com so far ...","description":"What the reviewer disliked. From the markup."},"source":{"type":"string","nullable":true,"example":"Incentivized review","description":"How Capterra collected the review, where it labels one. Null when it states nothing."}},"required":["author","role","industry","used_for","title","date","rating","best_rating","criteria_ratings","likelihood_to_recommend","body","pros","cons","source"]}},"range_start":{"type":"number","nullable":true,"example":1,"description":"The 1-based index of the first review on this page, as Capterra states it (\"Showing 1-25 of 6095 Reviews\")."},"range_end":{"type":"number","nullable":true,"example":25},"total_reviews":{"type":"number","nullable":true,"example":6095,"description":"Capterra's own total for the product. **Larger than what pagination will serve** — see `page_limit`."},"page_limit":{"type":"number","nullable":true,"example":100,"description":"Last review page available through Capterra pagination."},"has_more":{"type":"boolean","example":true,"description":"Whether another page exists within `page_limit` and within `total_reviews`."},"sort":{"type":"string","nullable":true,"example":"most helpful reviews","description":"Review order reported by Capterra. This endpoint does not accept a sort parameter."},"usage_note":{"type":"string","example":"body, pros and cons are read from the page's markup. Capterra's structured data carries a reviewBody field that holds the review's TITLE, not its text, so nothing here is taken from it. Twenty-five a page with no overlap; Capterra's own pagination stops at page 100, so at most 2,500 of a product's reviews are reachable however many total_reviews states. Reviews are served in Capterra's most-helpful order and this site has no sort parameter."}},"required":["product_id","slug","page","page_size","product","reviews","range_start","range_end","total_reviews","page_limit","has_more","sort","usage_note"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"capterra","x-toolzer-verified":true}},"/v1/telegram/channel":{"get":{"operationId":"Get Telegram Channel","tags":["Telegram"],"summary":"Get channel and posts","description":"Returns a public channel's header (title, `username`, description, counters) and up to 20 posts (text, media, view count, timestamp, forward/reply info). Requires `channel`. Optional `before` or `after` page the stream; the two cannot be combined. Unknown or private channels return `data: null`.","parameters":[{"schema":{"type":"string","example":"telegram","description":"Public channel username, e.g. `telegram`. Accepts `@telegram`, `t.me/telegram` or a post link. Private channels, groups and unknown names return `data: null`."},"required":true,"description":"Public channel username, e.g. `telegram`. Accepts `@telegram`, `t.me/telegram` or a post link. Private channels, groups and unknown names return `data: null`.","name":"channel","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100000000,"example":435,"description":"Return the 20 messages older than this message number — a cursor into a stream, not a page index. Use the LOWEST message number on the page you just read, not the highest; `next_before` in each response already has this value, so you never need to compute it. Cannot be combined with `after`."},"required":false,"description":"Return the 20 messages older than this message number — a cursor into a stream, not a page index. Use the LOWEST message number on the page you just read, not the highest; `next_before` in each response already has this value, so you never need to compute it. Cannot be combined with `after`.","name":"before","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100000000,"example":435,"description":"Return the 20 messages newer than this message number — the mirror of `before`. Use `next_after` from the previous response, or a stored `newest_message_number` to catch up on what's new since. Cannot be combined with `before`."},"required":false,"description":"Return the 20 messages newer than this message number — the mirror of `before`. Use `next_after` from the previous response, or a stored `newest_message_number` to catch up on what's new since. Cannot be combined with `before`.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TelegramChannelResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"telegram","x-toolzer-verified":true}},"/v1/zillow/property":{"get":{"operationId":"Get Zillow Property","tags":["Zillow - Properties"],"summary":"Get property details","description":"Get a home's price, structure, address, photos, listing agent contact (`attribution`), demand signals, and the RESO fact set. Requires `zpid`. `price_history`, `tax_history`, `schools` and `nearby_homes` are null here — use `/v1/zillow/history`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"2146999031","description":"Zillow's numeric id for the home, e.g. `2146999031` from `/homedetails/.../2146999031_zpid/`. Every `/v1/zillow/search` and `/v1/zillow/sitemap` result carries one. A pasted property URL is accepted and reduced to the id — the address slug in it is decoration, not part of the key."},"required":true,"description":"Zillow's numeric id for the home, e.g. `2146999031` from `/homedetails/.../2146999031_zpid/`. Every `/v1/zillow/search` and `/v1/zillow/sitemap` result carries one. A pasted property URL is accepted and reduced to the id — the address slug in it is decoration, not part of the key.","name":"zpid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ZillowPropertyResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"zillow","x-toolzer-verified":true}},"/v1/zillow/history":{"get":{"operationId":"Get Zillow History","tags":["Zillow - Properties"],"summary":"Get property history","description":"Get a property's price history, tax history, schools, and nearby comparable homes. The `graphql_errors` field can contain partial-data notices on a successful response.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"2146999031","description":"Zillow's numeric id for the home, e.g. `2146999031` from `/homedetails/.../2146999031_zpid/`. Every `/v1/zillow/search` and `/v1/zillow/sitemap` result carries one. A pasted property URL is accepted and reduced to the id — the address slug in it is decoration, not part of the key."},"required":true,"description":"Zillow's numeric id for the home, e.g. `2146999031` from `/homedetails/.../2146999031_zpid/`. Every `/v1/zillow/search` and `/v1/zillow/sitemap` result carries one. A pasted property URL is accepted and reduced to the id — the address slug in it is decoration, not part of the key.","name":"zpid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ZillowHistoryResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"zillow","x-toolzer-verified":true}},"/v1/zillow/search":{"get":{"operationId":"Get Zillow Search","tags":["Zillow - Discovery"],"summary":"Search properties","description":"Search up to 41 property listings in a region with price, beds, baths, address and coordinates — plus counts of matching properties and reachable pages. Requires `region`. Each row's `zpid` feeds `/v1/zillow/property`. `status` is `for_sale` or `sold`; rentals are not offered.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"san-francisco-ca","description":"The region slug from a Zillow URL, e.g. `san-francisco-ca` from `https://www.zillow.com/san-francisco-ca/`. A bare state (`ca`) or zip code (`94103`) also works. A pasted search URL is accepted in either of Zillow's spellings and reduced to the slug; `status` and `page` segments in it are dropped."},"required":true,"description":"The region slug from a Zillow URL, e.g. `san-francisco-ca` from `https://www.zillow.com/san-francisco-ca/`. A bare state (`ca`) or zip code (`94103`) also works. A pasted search URL is accepted in either of Zillow's spellings and reduced to the slug; `status` and `page` segments in it are dropped.","name":"region","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"default":1,"example":1,"description":"Which page of listings, 41 per page. Capped at 20 — Zillow's own limit regardless of match count: San Francisco `sold` reports 18,802 matching properties but only 20 reachable pages. Walk with `next_page`, which is null past the cap. Pages do not overlap."},"required":false,"description":"Which page of listings, 41 per page. Capped at 20 — Zillow's own limit regardless of match count: San Francisco `sold` reports 18,802 matching properties but only 20 reachable pages. Walk with `next_page`, which is null past the cap. Pages do not overlap.","name":"page","in":"query"},{"schema":{"type":"string","enum":["for_sale","sold"],"default":"for_sale","example":"for_sale","description":"`for_sale` (default) or `sold`. `sold` returns a sample, flagged by `results_are_capped`. For rentals, use `/v1/zillow/sitemap` with `family=for_rent`."},"required":false,"description":"`for_sale` (default) or `sold`. `sold` returns a sample, flagged by `results_are_capped`. For rentals, use `/v1/zillow/sitemap` with `family=for_rent`.","name":"status","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ZillowSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"zillow","x-toolzer-verified":true}},"/v1/zillow/sitemap":{"get":{"operationId":"Get Zillow Sitemap","tags":["Zillow - Discovery"],"summary":"List sitemap properties","description":"List a window of property IDs and URLs from a Zillow sitemap shard. Each `zpid` can be used with the property and history endpoints.","parameters":[{"schema":{"type":"string","enum":["for_sale_by_agent","for_sale_by_owner","new_construction","auction","pending","recently_sold","for_rent","off_market","other"],"default":"for_sale_by_agent","example":"for_sale_by_agent","description":"Which of Zillow's sitemap families to read: `for_sale_by_agent` (default), `for_sale_by_owner`, `new_construction`, `auction`, `pending`, `recently_sold`, `for_rent`, `off_market`, or `other`. Zillow's `srp`, `cdp` and `bdp` sitemaps are not offered — their entries carry no zpid."},"required":false,"description":"Which of Zillow's sitemap families to read: `for_sale_by_agent` (default), `for_sale_by_owner`, `new_construction`, `auction`, `pending`, `recently_sold`, `for_rent`, `off_market`, or `other`. Zillow's `srp`, `cdp` and `bdp` sitemaps are not offered — their entries carry no zpid.","name":"family","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":999,"default":0,"example":0,"description":"Which shard of the family's index to read, from 0. A full shard holds 50,000 property URLs. Shard count varies by family and is read live — check `shard_count` on the response. A shard past the end of a family is a 400."},"required":false,"description":"Which shard of the family's index to read, from 0. A full shard holds 50,000 property URLs. Shard count varies by family and is read live — check `shard_count` on the response. A shard past the end of a family is a 400.","name":"shard","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":1000000,"default":0,"example":0,"description":"Where in the shard to start. Add the `count` you received to the `offset` you sent to get the next window, and stop when `has_more` is false.\n\nA window past the end of a shard is a **normal empty response** with `has_more: false`, not an error."},"required":false,"description":"Where in the shard to start. Add the `count` you received to the `offset` you sent to get the next window, and stop when `has_more` is false.\n\nA window past the end of a shard is a **normal empty response** with `has_more: false`, not an error.","name":"offset","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50000,"default":1000,"example":1000,"description":"How many properties to return in one call, up to a full shard (50,000). Defaults to 1,000. The shard is cached after the first read, so later windows return in microseconds."},"required":false,"description":"How many properties to return in one call, up to a full shard (50,000). Defaults to 1,000. The shard is cached after the first read, so later windows return in microseconds.","name":"limit","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ZillowSitemapResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"zillow","x-toolzer-verified":true}},"/v1/redfin/search":{"get":{"operationId":"Get Redfin Search","tags":["Redfin"],"summary":"Search properties","description":"Search a region's for-sale listings with price, beds, baths, address, coordinates, MLS number and the agent's description. Requires `region`. Each row's `url` feeds `/v1/redfin/property`.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"/city/30818/TX/Austin","description":"Redfin region URL or path, e.g. `https://www.redfin.com/city/30818/TX/Austin` or `/zipcode/94110`. Copy it from Redfin; don't build it yourself."},"required":true,"description":"Redfin region URL or path, e.g. `https://www.redfin.com/city/30818/TX/Austin` or `/zipcode/94110`. Copy it from Redfin; don't build it yourself.","name":"region","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":350,"example":350,"description":"How many listings to return, up to 1,000. There is no paging, so this is the only way to get more. If `results_may_be_capped` is true, ask for more."},"required":false,"description":"How many listings to return, up to 1,000. There is no paging, so this is the only way to get more. If `results_may_be_capped` is true, ask for more.","name":"num_homes","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedfinSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"redfin","x-toolzer-verified":true}},"/v1/redfin/property":{"get":{"operationId":"Get Redfin Property","tags":["Redfin"],"summary":"Get property details","description":"Get a home's listing record, property history, schools, risk factors, parcel records, comparable sales and nearby listings. Requires `url` — the exact value every `/v1/redfin/search` row publishes.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"/CA/San-Francisco/331-Bartlett-St-94110/home/801881","description":"Redfin property URL or path. Use the `url` from a `/v1/redfin/search` result; it can't be built from an id."},"required":true,"description":"Redfin property URL or path. Use the `url` from a `/v1/redfin/search` result; it can't be built from an id.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedfinPropertyResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"redfin","x-toolzer-verified":true}},"/v1/yandex/search":{"get":{"operationId":"Get Yandex Search","tags":["Yandex"],"summary":"Search the web","description":"Search Yandex web results with titles, destination URLs, snippets, breadcrumbs, sitelinks, and advertising flags. Pages range from 0 to 24.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":400,"example":"stripe payments","description":"What to search the web for."},"required":true,"description":"What to search the web for.","name":"query","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":24,"default":0,"example":0,"description":"Zero-based page, 10 results each, up to page 24. Deeper pages are slower and more likely to return a retryable 503."},"required":false,"description":"Zero-based page, 10 results each, up to page 24. Deeper pages are slower and more likely to return a retryable 503.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"example":213,"description":"Yandex region id (`lr`) — 213 Moscow, 84 USA; defaults to 225 (Russia). Changes which results come back and how many adverts sit above them; it does not translate them."},"required":false,"description":"Yandex region id (`lr`) — 213 Moscow, 84 USA; defaults to 225 (Russia). Changes which results come back and how many adverts sit above them; it does not translate them.","name":"region_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/YandexSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"yandex","x-toolzer-verified":true}},"/v1/yandex/maps/search":{"get":{"operationId":"Get Yandex Maps Search","tags":["Yandex"],"summary":"Search map places","description":"Returns organizations and addresses from Yandex Maps — rating, phone numbers, websites, opening hours, categories, amenities and coordinates. Requires `query`; send `latitude` and `longitude` together to place the search. Up to 25 rows per page.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":400,"example":"coffee","description":"A business name, a category, or an address. An address returns a row with `type: \"toponym\"` rather than an organization."},"required":true,"description":"A business name, a category, or an address. An address returns a row with `type: \"toponym\"` rather than an organization.","name":"query","in":"query"},{"schema":{"type":"number","nullable":true,"minimum":-90,"maximum":90,"example":40.7484,"description":"Centre latitude. **Send latitude and longitude together or neither** — one without the other is rejected here, because Yandex silently ignores it and answers from its own default region instead. With neither, the query `coffee` measured as returning a cafe in a small town in Krasnodar Krai."},"required":false,"description":"Centre latitude. **Send latitude and longitude together or neither** — one without the other is rejected here, because Yandex silently ignores it and answers from its own default region instead. With neither, the query `coffee` measured as returning a cafe in a small town in Krasnodar Krai.","name":"latitude","in":"query"},{"schema":{"type":"number","nullable":true,"minimum":-180,"maximum":180,"example":-73.9857,"description":"Centre longitude. Sent upstream in Yandex's longitude-first `ll` order by the worker; a caller never assembles that string."},"required":false,"description":"Centre longitude. Sent upstream in Yandex's longitude-first `ll` order by the worker; a caller never assembles that string.","name":"longitude","in":"query"},{"schema":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":90,"example":0.05,"description":"Half-width of the viewport in degrees, applied to both axes. 0.05 is roughly a city centre."},"required":false,"description":"Half-width of the viewport in degrees, applied to both axes. 0.05 is roughly a city centre.","name":"span","in":"query"},{"schema":{"type":"string","enum":["widen","restrict"],"default":"widen","example":"widen","description":"What to do with results outside `span`. `widen` — the default, and Yandex's own behaviour — searches beyond it; `restrict` refuses them and requires `span`. Measured: `Красная площадь` with a New York span returns Moscow's Red Square under `widen` and nothing under `restrict`."},"required":false,"description":"What to do with results outside `span`. `widen` — the default, and Yandex's own behaviour — searches beyond it; `restrict` refuses them and requires `span`. Measured: `Красная площадь` with a New York span returns Moscow's Red Square under `widen` and nothing under `restrict`.","name":"bounds","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":25,"default":25,"example":25,"description":"Results per page, up to 25. Yandex answers anything above that with a 500."},"required":false,"description":"Results per page, up to 25. Yandex answers anything above that with a 500.","name":"results","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":100,"default":0,"example":0,"description":"Zero-based page. Sent upstream as `skip = page * results`, which is the only arithmetic Yandex accepts — any other offset is a 500. Deeper pages repeat rows, so de-duplicate on `id`."},"required":false,"description":"Zero-based page. Sent upstream as `skip = page * results`, which is the only arithmetic Yandex accepts — any other offset is a 500. Deeper pages repeat rows, so de-duplicate on `id`.","name":"page","in":"query"},{"schema":{"type":"string","enum":["en_US","ru_RU","tr_TR","uk_UA"],"default":"en_US","example":"en_US","description":"Response language for titles, addresses and opening hours. An unlisted locale is a 500 upstream, not a fallback."},"required":false,"description":"Response language for titles, addresses and opening hours. An unlisted locale is a 500 upstream, not a fallback.","name":"language","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/YandexMapsSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"yandex","x-toolzer-verified":true}},"/v1/yandex/maps/place":{"get":{"operationId":"Get Yandex Maps Place","tags":["Yandex"],"summary":"Get map place","description":"Returns one Yandex Maps organization in full: rating and review counts, phone numbers, websites, social links, opening hours, category list and amenity features. Requires `place` — a Yandex Maps organization URL or its numeric id, exactly as every `/v1/yandex/maps/search` row publishes.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"1018907821","description":"A Yandex Maps organization URL or its numeric id, e.g. `https://yandex.com/maps/org/pushkin/1018907821/`. **Every `/v1/yandex/maps/search` row publishes both**, as `id` and as `url`, which is how the endpoints compose."},"required":true,"description":"A Yandex Maps organization URL or its numeric id, e.g. `https://yandex.com/maps/org/pushkin/1018907821/`. **Every `/v1/yandex/maps/search` row publishes both**, as `id` and as `url`, which is how the endpoints compose.","name":"place","in":"query"},{"schema":{"type":"string","enum":["en_US","ru_RU","tr_TR","uk_UA"],"default":"en_US","example":"en_US"},"required":false,"name":"language","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/YandexMapsPlaceResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"yandex","x-toolzer-verified":true}},"/v1/yandex/maps/reviews":{"get":{"operationId":"Get Yandex Maps Reviews","tags":["Yandex"],"summary":"List map place reviews","description":"Returns one page of an organization's Yandex Maps reviews — rating, text, author, reactions and photos — with Yandex's own review and page totals. Requires `place`. Sort by newest, highest or lowest rated.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"1018907821","description":"A Yandex Maps organization URL or its numeric id, e.g. `https://yandex.com/maps/org/pushkin/1018907821/`. **Every `/v1/yandex/maps/search` row publishes both**, as `id` and as `url`, which is how the endpoints compose."},"required":true,"description":"A Yandex Maps organization URL or its numeric id, e.g. `https://yandex.com/maps/org/pushkin/1018907821/`. **Every `/v1/yandex/maps/search` row publishes both**, as `id` and as `url`, which is how the endpoints compose.","name":"place","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"One-based page. The response's own `total_pages` says how many there are for the `page_size` you asked for."},"required":false,"description":"One-based page. The response's own `total_pages` says how many there are for the `page_size` you asked for.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":50,"example":50,"description":"Reviews per page, up to 50. Asking for 100 returns a body with neither reviews nor totals in it."},"required":false,"description":"Reviews per page, up to 50. Asking for 100 returns a body with neither reviews nor totals in it.","name":"page_size","in":"query"},{"schema":{"type":"string","enum":["newest","highest_rated","lowest_rated"],"default":"newest","example":"newest","description":"Review ordering. Yandex answers an ordering it does not recognise with a 200 carrying no reviews, which would read as an organization with none, so only measured values are offered."},"required":false,"description":"Review ordering. Yandex answers an ordering it does not recognise with a 200 carrying no reviews, which would read as an organization with none, so only measured values are offered.","name":"sort","in":"query"},{"schema":{"type":"string","enum":["en_US","ru_RU","tr_TR","uk_UA"],"default":"en_US","example":"en_US"},"required":false,"name":"language","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/YandexMapsReviewsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"yandex","x-toolzer-verified":true}},"/v1/skyscanner/route":{"get":{"operationId":"Get Skyscanner Route","tags":["Skyscanner"],"summary":"Get route fares","description":"Returns the cheapest quoted fares between two places, with each quote's airports, dates, carrier and age, twelve months of cheapest-by-month prices, nearby airports and the airlines flying the route. Requires `origin` and `destination` as Skyscanner place codes.","parameters":[{"schema":{"type":"string","maxLength":200,"example":"lond","description":"Skyscanner place code to fly from, e.g. `lond` or `sfo`. City and airport codes both work. Airports may be returned as their city; `requested_origin` echoes what you sent."},"required":true,"description":"Skyscanner place code to fly from, e.g. `lond` or `sfo`. City and airport codes both work. Airports may be returned as their city; `requested_origin` echoes what you sent.","name":"origin","in":"query"},{"schema":{"type":"string","maxLength":200,"example":"nyca","description":"Skyscanner place code to fly to, e.g. `nyca` or `jfk`. City and airport codes both work."},"required":true,"description":"Skyscanner place code to fly to, e.g. `nyca` or `jfk`. City and airport codes both work.","name":"destination","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SkyscannerRouteResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"skyscanner","x-toolzer-verified":true}},"/v1/skyscanner/destination":{"get":{"operationId":"Get Skyscanner Destination","tags":["Skyscanner"],"summary":"Get destination fares","description":"Returns the cheapest quoted fares into one place from anywhere, so each deal carries its own origin. Requires `place` as a Skyscanner place code. Feed any deal's `origin.sky_code` with this `destination.sky_code` to `/v1/skyscanner/route` for that pair.","parameters":[{"schema":{"type":"string","maxLength":200,"example":"nyca","description":"Skyscanner place code to fly to, e.g. `nyca`, `lax` or `tene`. Returns the cheapest fares into this place from anywhere, so each deal has its own origin."},"required":true,"description":"Skyscanner place code to fly to, e.g. `nyca`, `lax` or `tene`. Returns the cheapest fares into this place from anywhere, so each deal has its own origin.","name":"place","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SkyscannerDestinationResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"skyscanner","x-toolzer-verified":true}},"/v1/2gis/search":{"get":{"operationId":"Get 2GIS Search","tags":["2GIS"],"summary":"Search businesses","description":"Returns organisations matching a query in one 2GIS city — name, address, coordinates, categories, opening hours and ratings. Requires `query` and `city`.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"кафе","description":"What to search for, in the city's own language — `кафе`, `pharmacy`, `kavárna`. **A query 2GIS cannot match does not come back empty**: it returns unrelated real businesses at near-zero `relevance` under a healthy 200. Check `is_partial_match` before trusting the rows."},"required":true,"description":"What to search for, in the city's own language — `кафе`, `pharmacy`, `kavárna`. **A query 2GIS cannot match does not come back empty**: it returns unrelated real businesses at near-zero `relevance` under a healthy 200. Check `is_partial_match` before trusting the rows.","name":"query","in":"query"},{"schema":{"type":"string","maxLength":40,"example":"moscow","description":"A 2GIS city slug — the segment in its own URL, e.g. `moscow`, `spb`, `dubai`, `almaty`, `praha`. **`/v1/2gis/cities` lists all 206**, and the value is not guessable from a country: 2GIS is organised by city, not by nation."},"required":true,"description":"A 2GIS city slug — the segment in its own URL, e.g. `moscow`, `spb`, `dubai`, `almaty`, `praha`. **`/v1/2gis/cities` lists all 206**, and the value is not guessable from a country: 2GIS is organised by city, not by nation.","name":"city","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":10000,"default":1,"example":1,"description":"Page of results; pages run to `ceil(total / page_size)`. De-duplicate on `id` when combining pages."},"required":false,"description":"Page of results; pages run to `ceil(total / page_size)`. De-duplicate on `id` when combining pages.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":20,"example":20,"description":"How many places per page, at most 50. This is a closed set upstream rather than a ceiling that clamps: 2GIS answers a larger value with `paramIsOutsideSet` and returns nothing at all."},"required":false,"description":"How many places per page, at most 50. This is a closed set upstream rather than a ceiling that clamps: 2GIS answers a larger value with `paramIsOutsideSet` and returns nothing at all.","name":"page_size","in":"query"},{"schema":{"type":"string","maxLength":10,"pattern":"^[a-z]{2}_[A-Z]{2}$","example":"ru_RU","description":"One of the city's own locales, e.g. `ru_RU` or `en_AE`. Defaults to the city's default. **Not a translation layer**: a locale the region does not offer is rejected by 2GIS outright — Dubai serves `en_AE` and refuses `en_US`. `/v1/2gis/cities` lists each city's set."},"required":false,"description":"One of the city's own locales, e.g. `ru_RU` or `en_AE`. Defaults to the city's default. **Not a translation layer**: a locale the region does not offer is rejected by 2GIS outright — Dubai serves `en_AE` and refuses `en_US`. `/v1/2gis/cities` lists each city's set.","name":"locale","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TwoGisSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"2gis","x-toolzer-verified":true}},"/v1/2gis/place":{"get":{"operationId":"Get 2GIS Place","tags":["2GIS"],"summary":"Get organisation details","description":"Returns one organisation branch with the fields search cannot carry: phone numbers, websites, email addresses and 2GIS's full structured attributes, alongside address, coordinates, hours and ratings. Requires `id` — the exact value every `/v1/2gis/search` row publishes.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"70000001007179642","description":"A 2GIS branch id — **exactly the `id` every `/v1/2gis/search` row publishes**, which is how these endpoints compose. A full place URL or the decorated `search_context_id` are both accepted and reduce to the same value."},"required":true,"description":"A 2GIS branch id — **exactly the `id` every `/v1/2gis/search` row publishes**, which is how these endpoints compose. A full place URL or the decorated `search_context_id` are both accepted and reduce to the same value.","name":"id","in":"query"},{"schema":{"type":"string","maxLength":10,"pattern":"^[a-z]{2}_[A-Z]{2}$","example":"ru_RU","description":"One of the city's own locales, e.g. `ru_RU` or `en_AE`. Defaults to the city's default. **Not a translation layer**: a locale the region does not offer is rejected by 2GIS outright — Dubai serves `en_AE` and refuses `en_US`. `/v1/2gis/cities` lists each city's set."},"required":false,"description":"One of the city's own locales, e.g. `ru_RU` or `en_AE`. Defaults to the city's default. **Not a translation layer**: a locale the region does not offer is rejected by 2GIS outright — Dubai serves `en_AE` and refuses `en_US`. `/v1/2gis/cities` lists each city's set.","name":"locale","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TwoGisPlaceResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"2gis","x-toolzer-verified":true}},"/v1/2gis/reviews":{"get":{"operationId":"Get 2GIS Reviews","tags":["2GIS"],"summary":"List organisation reviews","description":"Returns one page of written reviews for a branch — text, rating, author, photo count, the business's reply and which source each review came from. Requires `id`.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"70000001007179642","description":"A 2GIS branch id — **exactly the `id` every `/v1/2gis/search` row publishes**, which is how these endpoints compose. A full place URL or the decorated `search_context_id` are both accepted and reduce to the same value."},"required":true,"description":"A 2GIS branch id — **exactly the `id` every `/v1/2gis/search` row publishes**, which is how these endpoints compose. A full place URL or the decorated `search_context_id` are both accepted and reduce to the same value.","name":"id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":20,"example":20,"description":"How many reviews per page, at most 50."},"required":false,"description":"How many reviews per page, at most 50.","name":"limit","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":100000,"default":0,"example":0,"description":"Where to start. **This surface walks by offset, not by cursor, and it walks to the end** — a branch stating 1,039 reviews served all of them and answered an empty list past that, so nothing here expires or is session-bound. Walk up to `total`."},"required":false,"description":"Where to start. **This surface walks by offset, not by cursor, and it walks to the end** — a branch stating 1,039 reviews served all of them and answered an empty list past that, so nothing here expires or is session-bound. Walk up to `total`.","name":"offset","in":"query"},{"schema":{"type":"string","enum":["date_created","date_edited","friends","trust"],"default":"date_created","example":"date_created","description":"2GIS's own allowed set, quoted from the 400 body it returns for anything else. `friends` and `trust` are its social and trust-weighted orderings."},"required":false,"description":"2GIS's own allowed set, quoted from the 400 body it returns for anything else. `friends` and `trust` are its social and trust-weighted orderings.","name":"sort","in":"query"},{"schema":{"type":"string","maxLength":10,"pattern":"^[a-z]{2}_[A-Z]{2}$","example":"ru_RU","description":"One of the city's own locales, e.g. `ru_RU` or `en_AE`. Defaults to the city's default. **Not a translation layer**: a locale the region does not offer is rejected by 2GIS outright — Dubai serves `en_AE` and refuses `en_US`. `/v1/2gis/cities` lists each city's set."},"required":false,"description":"One of the city's own locales, e.g. `ru_RU` or `en_AE`. Defaults to the city's default. **Not a translation layer**: a locale the region does not offer is rejected by 2GIS outright — Dubai serves `en_AE` and refuses `en_US`. `/v1/2gis/cities` lists each city's set.","name":"locale","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TwoGisReviewsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"2gis","x-toolzer-verified":true}},"/v1/2gis/cities":{"get":{"operationId":"Get 2GIS Cities","tags":["2GIS"],"summary":"List covered cities","description":"Returns every city 2GIS covers with the slug `/v1/2gis/search` takes, its internal region id, country code and the locales it accepts. Takes no parameters.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TwoGisCitiesResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"2gis","x-toolzer-verified":true}},"/v1/avito/listings":{"get":{"operationId":"Get Avito Listings","tags":["Avito"],"summary":"List category listings","description":"Returns one page of an Avito city-category's listings — title, price, address, coordinates, photos, seller and rating. Requires `url`, an Avito category URL or path. Paginates to page 100 of 50; plan against `reachable_count` rather than `total_count`, and de-duplicate on `id` across pages.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"/moskva/avtomobili","description":"Avito category listing URL or path, such as `/moskva/avtomobili`. Query strings are removed. Item detail URLs are not accepted."},"required":true,"description":"Avito category listing URL or path, such as `/moskva/avtomobili`. Query strings are removed. Item detail URLs are not accepted.","name":"url","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":1,"example":1,"description":"Page of 50 listings to return, up to 100. At most 5,000 rows are reachable per city and category."},"required":false,"description":"Page of 50 listings to return, up to 100. At most 5,000 rows are reachable per city and category.","name":"page","in":"query"},{"schema":{"type":"string","maxLength":32,"example":"1","description":"Sort code from the response's `sorts` array. Codes vary by category; common values are `101` default, `1` cheapest, `2` most expensive, and `104` newest."},"required":false,"description":"Sort code from the response's `sorts` array. Codes vary by category; common values are `101` default, `1` cheapest, `2` most expensive, and `104` newest.","name":"sort","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AvitoListingsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"avito","x-toolzer-verified":true}},"/v1/google-maps/search":{"get":{"operationId":"Get Google Maps Search","tags":["Google Maps"],"summary":"Search businesses","description":"Returns up to 20 complete business records near a point: name, address, phone, website, hours, rating, attributes and photos in one call — 26 requests covers 500 businesses, not 526. Requires `query`, `latitude` and `longitude`. A parameter that can't be applied fails terminal, not retryable.","parameters":[{"schema":{"type":"string","maxLength":200,"example":"coffee","description":"Business type, product, service, or name to search for. `interpreted_query` reports how Google understood the text. Results are scoped to this query and the requested viewport."},"required":true,"description":"Business type, product, service, or name to search for. `interpreted_query` reports how Google understood the text. Results are scoped to this query and the requested viewport.","name":"query","in":"query"},{"schema":{"type":"number","minimum":-90,"maximum":90,"example":37.7749,"description":"Latitude of the search viewport center. Use with `longitude` and `span_metres` to define the area to search."},"required":true,"description":"Latitude of the search viewport center. Use with `longitude` and `span_metres` to define the area to search.","name":"latitude","in":"query"},{"schema":{"type":"number","minimum":-180,"maximum":180,"example":-122.4194,"description":"Longitude of the search viewport center. Use with `latitude` and `span_metres` to define the area to search."},"required":true,"description":"Longitude of the search viewport center. Use with `latitude` and `span_metres` to define the area to search.","name":"longitude","in":"query"},{"schema":{"type":"number","minimum":100,"maximum":5000000,"default":20000,"example":20000,"description":"Width of the search viewport in metres. To cover a large area beyond one viewport's result limit, search several smaller adjacent viewports and deduplicate businesses by `cid`."},"required":false,"description":"Width of the search viewport in metres. To cover a large area beyond one viewport's result limit, search several smaller adjacent viewports and deduplicate businesses by `cid`.","name":"span_metres","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":10,"default":1,"example":1,"description":"Page of 20 complete business records. Pages can overlap, so deduplicate by `cid`; use `has_more` to decide whether to request the next page."},"required":false,"description":"Page of 20 complete business records. Pages can overlap, so deduplicate by `cid`; use `has_more` to decide whether to request the next page.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GoogleMapsSearchResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-maps","x-toolzer-verified":true}},"/v1/google-maps/place":{"get":{"operationId":"Get Google Maps Place","tags":["Google Maps"],"summary":"Get place details","description":"Returns one business's full record by its Google `cid` — the same record `/v1/google-maps/search` returns per row. `data` is `null` if the cid does not resolve. Review text is on `/v1/google-maps/reviews`, keyed by the same `cid`.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"0x808587fb77f5f64d:0x25d564f177f99946","description":"Google place identifier from a search result's `cid` field. A Google Maps URL containing the ID is also accepted."},"required":true,"description":"Google place identifier from a search result's `cid` field. A Google Maps URL containing the ID is also accepted.","name":"cid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GoogleMapsPlaceResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-maps","x-toolzer-verified":true}},"/v1/google-maps/reviews":{"get":{"operationId":"Get Google Maps Reviews","tags":["Google Maps"],"summary":"List place reviews","description":"Returns a page of reviews, newest first, up to 20 per page via `next_cursor` paging. Complete corpus verified at 5,950 of 5,950, zero duplicate review ids. NO `sort` parameter — other orders reach as few as 143. Warm-up of roughly 35 seconds after idle; 503s are retryable with backoff.","parameters":[{"schema":{"type":"string","maxLength":500,"example":"0x808587fb77f5f64d:0x25d564f177f99946","description":"Google place identifier from a search result's `cid` field. A Google Maps URL containing the ID is also accepted. Use the same `cid` with every cursor in a review walk."},"required":true,"description":"Google place identifier from a search result's `cid` field. A Google Maps URL containing the ID is also accepted. Use the same `cid` with every cursor in a review walk.","name":"cid","in":"query"},{"schema":{"type":"string","maxLength":400,"description":"Cursor from the previous response. Omit for the first page, reuse the same `cid`, and stop when `has_more` is false rather than when a page contains fewer reviews than requested."},"required":false,"description":"Cursor from the previous response. Omit for the first page, reuse the same `cid`, and stop when `has_more` is false rather than when a page contains fewer reviews than requested.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"default":20,"example":20,"description":"Reviews per page, up to 20. Higher values are rejected."},"required":false,"description":"Reviews per page, up to 20. Higher values are rejected.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GoogleMapsReviewsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"google-maps","x-toolzer-verified":true}},"/v1/pinterest/pins/detail":{"get":{"operationId":"Get Pinterest Pin Detail","tags":["Pinterest - Pins"],"summary":"Get pin details","description":"Get a public pin's media, board, creator, description, and available shopping data.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.pinterest.com/pin/1136384918502158229/","description":"Pinterest numeric pin ID or full pinterest.com pin URL."},"required":true,"description":"Pinterest numeric pin ID or full pinterest.com pin URL.","name":"pin_id_or_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"entity_id":{"type":"string"},"id":{"type":"string"},"description":{"type":"string","nullable":true},"grid_title":{"type":"string","nullable":true},"dominant_color":{"type":"string","nullable":true},"is_video":{"type":"boolean"},"videos":{"type":"object","nullable":true,"properties":{"video_urls":{"type":"array","items":{"type":"string"}}},"required":["video_urls"]},"story_pin_data_id":{"type":"string","nullable":true},"created_at":{"type":"string"},"board":{"type":"object","additionalProperties":{"nullable":true}},"image_url":{"type":"string"}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"entity_id":"1136384918502158229","description":"Sometimes the most productive moments begin with slowing down...","grid_title":"Coffee, Calm & Quiet Moments","dominant_color":"#4a311b","is_video":false,"image_url":"https://i.pinimg.com/originals/93/dd/2b/93dd2bdddfb220ed48829dc7269d66aa.jpg"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"pinterest","x-toolzer-verified":false}},"/v1/pinterest/pins/resolve-url":{"get":{"operationId":"Resolve Pinterest Pin URL","tags":["Pinterest - Pins"],"summary":"Resolve pin URL","description":"Resolve a Pinterest or pin.it URL to its canonical pin URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://pin.it/abcd1234","description":"Full pinterest.com pin URL or pin.it short URL to resolve to a canonical full pin URL."},"required":true,"description":"Full pinterest.com pin URL or pin.it short URL to resolve to a canonical full pin URL.","name":"pin_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"resolved_url":{"type":"string"}},"required":["resolved_url"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"resolved_url":"https://www.pinterest.com/pin/1136384918502158229/"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"pinterest","x-toolzer-verified":false}},"/v1/pinterest/search/pins":{"get":{"operationId":"Search Pinterest Pins","tags":["Pinterest - Search"],"summary":"Search pins","description":"Search public Pinterest pins or videos by keyword. Send `bookmark` to continue the results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"coffee","description":"Search keywords."},"required":true,"description":"Search keywords.","name":"query","in":"query"},{"schema":{"type":"string","enum":["pins","videos"],"default":"pins","description":"Search scope. 'pins' and 'videos' are verified working logged out; board/user/shopping scopes are unverified (see core/research/pinterest/04-search.md) and not exposed here yet."},"required":false,"description":"Search scope. 'pins' and 'videos' are verified working logged out; board/user/shopping scopes are unverified (see core/research/pinterest/04-search.md) and not exposed here yet.","name":"scope","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response's `bookmark` field. Omit for the first page."},"required":false,"description":"Opaque pagination cursor from a previous response's `bookmark` field. Omit for the first page.","name":"bookmark","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"results":{"type":"array","items":{"nullable":true}},"bookmark":{"type":"string"}},"required":["results"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"results":[{"id":"1136384918502158229","title":"Coffee, Calm & Quiet Moments","dominant_color":"#4a311b","image_url":"https://i.pinimg.com/originals/93/dd/2b/93dd2bdddfb220ed48829dc7269d66aa.jpg"}],"bookmark":"Y2JVSG81V2sxcmNHRlpWM1J5VFVad1ZsWlVWbFJXTVVZMldWVlZNV0pIU2toa1JFNVhVbTFvTTFWWGN6RldhemxYVm14T1YxSnNjRkJYVm1ONFlXc3hSMVZzYkdwU1ZuQlFWbXhvVTJWV1pISlhhM1JYVm10V05sVldVbE5YUjBWNFUydDRXbUpHVlhoV01GcFRaRVV4Vms5WGFHbFNia0l6Vm10a01GVXlSblJXYTFwUFZsZG9XVlpyV21GVlJsSllaVWRHYWxadFVsbFpNRlpQWVZaYWRHUjZTbGRTYkVwVVYxWmFZVkl5VGtsVmJHaFhUVEJLV0ZaSGRGWk5WMDVZVW1wYVZXRjZWbGhVVlZwWFRsWmFTR05GZEZaaVZscFhWRlpvVTFkSFNsbFZhemxYWVRKU2NWcFdXbE5YVjA1SVRsZDRVMkpyU2xwV1YzaFRWakZzV0ZKdVVsVmhiRnBXV1ZSR1MxTXhjRlpYYm1SWFZtczFNRmt3VlRGaFIwVjNWbXBPVjAxV2NIWlVhMXBTWlVaT2MxcEhSbE5TTWswMVdtdGFWMU5YU2paVmJYaFRWMGRvUmxkc1ZsZGhNV1J6VjFod2FGSkdjRmxaYTJSdVpXeHdWbFpZYUU5aVIxSldWVmR6TVdKSFJYZFdXR2hYVWtWYVZGVnRjekZXYXpGWlVtMUdiR0pGY0ZCWGJHUXdWbXN4VjFSWWJHdFNNMUpYV1d0YVMxSldhM2RWYlRsYVZtdHdTVmt6Y0VOV1YwcEhVMnRPWVZZelRqUlpNVnBMVmxaU2NrOVhhR2hOYmxGNlZtcEplR1F5VG5SV2ExcFFWbFphVjFsc1pEUlZSbXh6VjJ4a1QySkdTakZaTUZacllWWktkVkZxUWxkaVZFWXpWa2N4VjJNeVNrVlViRlpwVmtWYVZWZFdWbUZrTVZwWFYyeHNZVkpyU2xSVVZtUXpUV3hhUjFkc1RsTmhla1pYVkRGYWIxZEdaRWxSYkVKaFZqTlNSMVJWV2xOWFYwNUlVbTFzVjFaR1dqUldhMXBUVWpGU2MxZHJhR3BOTWxKV1dXdGFTMWxXVW5KWGJtUllVbXhhV2xsVldrTldSazVJWVVaR1YxWXphR2haVkVFMVVXeENWVTFVYUU1V1JUQjVWR3RTVG1Rd09WVmhNMmhRVmtWck1GUXdVazVsUlRsVVkwVm9WbFpZWkhoYWExSlRZbFp3VlZKVVRscE5hekI1Vkcxd1RrMUZNVFpoZWs1UFZqQXdkMVJ0Y0VKTk1ERlZZWHBDWVdGdFVuSlVXSEJYWWtad1JXRjZRazVTTURFMlYxaHdUMkpWTlZWU2JXeE9Va2RTY0ZSV1VtcGtNWEJWVVZoa1VGSkdSak5YVjNCWFlVWndjVmRZWkdGaGJFVXdWRmR3WVU5R1VuSldiR2h0VVZRd09XWkVSWHBPYWxGNlRVUnJOVTFVYTNsUFJHZDZUVlJyY1ZJeFJrMUxibmMxVFhwYWJFNVVUbWhPYW1oclQxUlpOVmxVVFRWTmJVWnNUVmRGTVU1SFZtaE9WRTB3V1hwbmVVNXFWbXBOVkdoclRsUk9hRnBYV20xWmFtTjNUbnBXYWxwRVRtbE9hbWQ0V21wa2JWbFhUbXhPUjFwb1prVTFSbFl6ZHowPXxVSG80Y2sxV1VtbGFTRlY2VkZoQ2NtUjZNV1pOVkdobVRGUkdPRTFVVFRKT1JFMTNUMVJyZUU5VVNUUlBSRTE0VDFOd1NGVlZkM0ZtUkU1cFRVZFNiVmx0U1hsT1JFRjVXWHByTTFwVVRtdE9NazB4VFhwUk5FMUViRzFPZW1Nd1RXcFZlVTlVYUd0TlJGWnJXa1JDYkZwVVNtbGFSMFYzV2xSWk1rMVhVWHBaYlZFelRrUlJkMDlIV210TmFsSTRWR3RXV0daQlBUMD18Tm9uZXwxMzY0MzA5OTE5Mjg4MzE5KkdRTCp8N2MwZDY1ZWJiZDBlOTNjYmYwY2M0YjAwODcxZTE5MGU4ZGRkYTAzYzg5MTc2NmI5MTE2ZmZmNzIyYzc0MTYwMHxORVd8"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"pinterest","x-toolzer-verified":false}},"/v1/pinterest/profiles/detail":{"get":{"operationId":"Get Pinterest User Profile","tags":["Pinterest - Profiles"],"summary":"Get profile","description":"Get a public Pinterest profile by username or profile URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.pinterest.com/pinterest/","description":"Pinterest username or full pinterest.com profile URL."},"required":true,"description":"Pinterest username or full pinterest.com profile URL.","name":"username_or_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"id":{"type":"string"},"username":{"type":"string"},"full_name":{"type":"string"},"pin_count":{"type":"number"},"board_count":{"type":"number"},"is_private_profile":{"type":"boolean"}},"required":["id","username"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"id":"424605208526455283","username":"pinterest","pin_count":95670,"board_count":126}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"pinterest","x-toolzer-verified":false}},"/v1/pinterest/profiles/boards":{"get":{"operationId":"Get Pinterest User Boards","tags":["Pinterest - Profiles"],"summary":"List profile boards","description":"List boards owned by a public Pinterest profile. Send `bookmark` to continue the list.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.pinterest.com/pinterest/","description":"Pinterest username or full pinterest.com profile URL."},"required":true,"description":"Pinterest username or full pinterest.com profile URL.","name":"username_or_url","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response's `bookmark` field. Omit for the first page."},"required":false,"description":"Opaque pagination cursor from a previous response's `bookmark` field. Omit for the first page.","name":"bookmark","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"nullable":true}},"bookmark":{"type":"string"}},"required":["items"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"items":[{"id":"424605139808111760","url":"/pinterest/easy-summer-crafts-for-families/","pin_count":78}],"bookmark":"LT4xMDEzMzgwNDIyMzQzNDM4NzkyfDEwfDE3MzkxMTA4MDMxMzA1MzkqR1FMKnw4ODNkOGU2ZjQ1OTJjYTI4OWJhZjg2ZjE1MjA3MDQyZTY2MDBkMmEwNDI0YTY2NjFhN2M4ZTA3OTFmNDJkOWUxfE5FV3w="}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"pinterest","x-toolzer-verified":false}},"/v1/pinterest/boards/pins":{"get":{"operationId":"Get Pinterest Board Pins","tags":["Pinterest - Boards"],"summary":"List board pins","description":"List pins from a public Pinterest board. Send `bookmark` to continue the list.","parameters":[{"schema":{"type":"string","minLength":1,"example":"424605139808111760","description":"Pinterest numeric board ID."},"required":true,"description":"Pinterest numeric board ID.","name":"boardId","in":"query"},{"schema":{"type":"string","description":"Opaque pagination cursor from a previous response's `bookmark` field. Omit for the first page."},"required":false,"description":"Opaque pagination cursor from a previous response's `bookmark` field. Omit for the first page.","name":"bookmark","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"nullable":true}},"bookmark":{"type":"string"}},"required":["items"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"items":[{"id":"424605071145308331","title":"🎨💆 Mind Relaxing Art: Unlock Inner Peace through Creativity!","image_url":"https://i.pinimg.com/originals/f4/4e/fc/f44efc6bcab8814ccdfe6617dd9d9dd1.jpg"}],"bookmark":"Y2JZakk0ZUU1WWR6Vk5WRmsxVGxSWk1rNXFWVE5OZWsxM1QxUlplVXRyWkZKVVEzQTRUMVJKTkU5SFVteE9WMHBzVFdwVk5GbHRUWGhOUkdOM1RXcHNiRTFFWjNwT1IwNXFUWHBhYkU0eVJteE5SR2hwV1RKUk0xcHFRbXBaZW10NlRrUkJlazB5VVhoYVZGcG9UMVJOZUZscVFtbGFSMWwzV1RONFQxSldaRGc9fFVIbzVUMkl5Tld4bVJHdDRUbXByTVU1cVdUSk9WR042VFhwQk5VNXFTWEZTTVVaTlMyNTRiVnBIUm10WmFsVTFXbGROTTA5RVJtdE9WR2QzVDBSWk1FOVVSWHBOUjBadFRucFNiVnBIV1RST2FsSnRUVVJqTUZwcVFteFplbEUxVFhwSk5FMUViR3hOVjFWNVRYcGpORnBVUlhwYVJGVXpUWHBqTldaRk5VWldNM2M5fE5vbmV8OTE2OTU2NjY1NzMzMDk2MipHUUwqfDAzOGM1YTE0M2VmMjRmNDk4MGMzNTgzOTJmNTkzZGZiYzJmZjZkYjc5YzJkZWE5ZGFiYmUxM2FiM2ExZDZmYjl8TkVXfA=="}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"pinterest","x-toolzer-verified":false}},"/v1/pinterest/boards/resolve-url":{"get":{"operationId":"Resolve Pinterest Board URL","tags":["Pinterest - Boards"],"summary":"Resolve board URL","description":"Resolve a Pinterest board URL to its numeric board ID.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.pinterest.com/fashion/whimsical-picnic-day-outfits/","description":"Full Pinterest board URL to resolve to its numeric board ID through the owner's board list."},"required":true,"description":"Full Pinterest board URL to resolve to its numeric board ID through the owner's board list.","name":"board_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"board_id":{"type":"string"}},"required":["board_id"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"board_id":"893683188497204781"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"pinterest","x-toolzer-verified":false}},"/v1/x/user":{"get":{"operationId":"Get X User","tags":["X (Twitter) - User"],"summary":"Get account","deprecated":true,"description":"Deprecated: use `/v1/x/profile` instead. Get an account's public profile, verification status, and activity counts. An unknown handle returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"nasa","description":"Account handle with or without `@`, or a full x.com or twitter.com profile URL. Handles contain 1–15 letters, digits, or underscores."},"required":true,"description":"Account handle with or without `@`, or a full x.com or twitter.com profile URL. Handles contain 1–15 letters, digits, or underscores.","name":"handle","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XUser"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":true}},"/v1/x/tweets":{"get":{"operationId":"Get X Tweets","tags":["X (Twitter) - User"],"summary":"List account posts","deprecated":true,"description":"Deprecated: use `/v1/x/profile/posts` instead. List an account's posts with text, engagement counts, entities, and author details. An unknown handle returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"nasa","description":"Account handle with or without `@`, or a full x.com or twitter.com profile URL. Handles contain 1–15 letters, digits, or underscores."},"required":true,"description":"Account handle with or without `@`, or a full x.com or twitter.com profile URL. Handles contain 1–15 letters, digits, or underscores.","name":"handle","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20,"example":20,"description":"Requested number of posts. X may return fewer while more results remain; use `has_more` to determine whether to continue."},"required":false,"description":"Requested number of posts. X may return fewer while more results remain; use `has_more` to determine whether to continue.","name":"count","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`next_cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`next_cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XTweetsResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":true}},"/v1/x/tweet":{"get":{"operationId":"Get X Tweet","tags":["X (Twitter) - Post"],"summary":"Get post","deprecated":true,"description":"Deprecated: use `/v1/x/post` instead. Get an X post by ID, including its text, engagement counts, author, and available quoted or reposted post. An unknown ID returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"1978472698594644405","description":"Numeric post ID from a timeline response or x.com status URL. Full status URLs are accepted."},"required":true,"description":"Numeric post ID from a timeline response or x.com status URL. Full status URLs are accepted.","name":"tweet_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XTweetResponse"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":true}},"/v1/x/profile":{"get":{"operationId":"Get X Profile","tags":["X (Twitter) - User"],"summary":"Get profile","description":"Get an account's public profile: name, bio, location, follower and post counts, verification, and pinned post IDs. An unknown handle returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"NASA","description":"Account handle with or without `@`, or an x.com or twitter.com profile URL."},"required":true,"description":"Account handle with or without `@`, or an x.com or twitter.com profile URL.","name":"handle","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XProfile"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"id":"11348282","handle":"NASA","name":"NASA","description":"Making the seemingly impossible, possible. ✨","location":"Pale Blue Dot","website":"http://www.nasa.gov/","avatar_url":"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/11348282/1788992290","followers_count":92324082,"following_count":115,"posts_count":74434,"media_count":28199,"likes_count":17030,"is_verified":false,"is_blue_verified":true,"verified_type":"Government","protected":false,"created_at":"2007-12-19T20:20:32.000Z","pinned_post_ids":[],"is_automated":false}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/profile/about":{"get":{"operationId":"Get X Profile About","tags":["X (Twitter) - User"],"summary":"Get profile About details","description":"Get an account's About panel: creation date, verification history, country, handle-change count, and affiliation. An unknown handle returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"NASA","description":"Account handle with or without `@`, or an x.com or twitter.com profile URL."},"required":true,"description":"Account handle with or without `@`, or an x.com or twitter.com profile URL.","name":"handle","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XProfileAbout"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"id":"11348282","handle":"NASA","name":"NASA","avatar_url":"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg","created_at":"2007-12-19T20:20:32.000Z","is_verified":false,"is_blue_verified":true,"is_identity_verified":false,"verified_since":"2009-08-07T19:53:50.941Z","protected":false,"account_based_in":null,"connected_via":null,"username_changes_count":0,"affiliation":null}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/profile/posts":{"get":{"operationId":"List X Profile Posts","tags":["X (Twitter) - User"],"summary":"List profile posts","description":"List an account's posts newest first, plus its pinned post. Set `include_replies` to add the account's replies. Paginate with `cursor` and `has_more`. An unknown handle returns `data: null` or an empty page.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"NASA","description":"Account handle with or without `@`, or an x.com or twitter.com profile URL."},"required":true,"description":"Account handle with or without `@`, or an x.com or twitter.com profile URL.","name":"handle","in":"query"},{"schema":{"type":"string","default":false,"example":"false","description":"Whether replies the account wrote are included in the timeline. Defaults to `false`."},"required":false,"description":"Whether replies the account wrote are included in the timeline. Defaults to `false`.","name":"include_replies","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XProfilePostsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"pinned_post":null,"posts":[{"id":"2110823965954637903","url":"https://x.com/NASA/status/2110823965954637903","text":"LIVE: Tune in as agency leaders and partners discuss NASA's contributions to @JAXA_en's Martian Moons eXploration (MMX) mission, scheduled to lift off on Monday, Oct. 19. https://t.co/TgO3c1FmNs https://t.co/RK9OwELDC2","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-15T20:03:45.000Z","like_count":798,"reply_count":60,"repost_count":117,"quote_count":9,"view_count":302209,"bookmark_count":39,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110823965954637903","is_pinned":null,"author":{"id":"11348282","handle":"NASA","name":"NASA","description":null,"location":"Pale Blue Dot","website":null,"avatar_url":"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/11348282/1788992290","followers_count":92324082,"following_count":115,"posts_count":74434,"media_count":28199,"likes_count":17030,"is_verified":false,"is_blue_verified":true,"verified_type":"Government","protected":null,"created_at":"2007-12-19T20:20:32.000Z","pinned_post_ids":[],"is_automated":false},"media":[{"id":"2110821837366046721","type":"photo","url":"https://pbs.twimg.com/media/HUslRwhXMAEmXG2.jpg","alt_text":"The blue NASA \"meatball\" insignia overlaid on top of a Martian background.","width":1920,"height":1080,"duration_ms":null,"variants":null}],"hashtags":[],"mentions":[{"id":"104989762","handle":"JAXA_en","name":"JAXA(Japan Aerospace Exploration Agency)"}],"urls":[{"url":"https://t.co/TgO3c1FmNs","expanded_url":"https://youtu.be/3k2mpWrOD1s"}],"card":null,"article":null,"place":null,"quoted_post":null,"reposted_post":null},{"id":"2110815671512682509","url":"https://x.com/NASA/status/2110815671512682509","text":"LIVE: Members of Crew-12 are at @NASAJohnson to discuss their mission aboard the @Space_Station and answer questions from the media. The crew spent 237 days living and working in orbit and returned to Earth on Thursday, Oct. 8. https://t.co/2un3geixPZ","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-15T19:30:47.000Z","like_count":859,"reply_count":74,"repost_count":126,"quote_count":11,"view_count":377259,"bookmark_count":38,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110815671512682509","is_pinned":null,"author":{"id":"11348282","handle":"NASA","name":"NASA","description":null,"location":"Pale Blue Dot","website":null,"avatar_url":"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/11348282/1788992290","followers_count":92324082,"following_count":115,"posts_count":74434,"media_count":28199,"likes_count":17030,"is_verified":false,"is_blue_verified":true,"verified_type":"Government","protected":null,"created_at":"2007-12-19T20:20:32.000Z","pinned_post_ids":[],"is_automated":false},"media":[],"hashtags":[],"mentions":[{"id":"50115087","handle":"NASAJohnson","name":"NASA's Johnson Space Center"},{"id":"1451773004","handle":"Space_Station","name":"International Space Station"}],"urls":[{"url":"https://t.co/2un3geixPZ","expanded_url":"https://x.com/i/broadcasts/1qxvveyYAqWxB"}],"card":{"name":"745291183405076480:broadcast","url":"https://t.co/2un3geixPZ","title":"NASA's SpaceX Crew-12 Postflight News Conference","description":null,"image_url":"https://pbs.twimg.com/card_img/2110826113215651840/ls2n1I3Q?format=jpg&name=orig"},"article":null,"place":null,"quoted_post":null,"reposted_post":null}],"count":2,"cursor":"DAADDAABCgABHUsnNqIbgE8KAAIdQ30vPFoAHwAIAAIAAAACCAADAAAAAAgABAAAAAAKAAUdS-Tv58AnEAoABh1L5O_nv9jwCwAH","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":5,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/profile/mentions":{"get":{"operationId":"List X Profile Mentions","tags":["X (Twitter) - User"],"summary":"List profile mentions","description":"List posts that mention an account, newest first. Paginate with `cursor` and `has_more`. An unknown handle returns `data: null` or an empty page.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"NASA","description":"Account handle with or without `@`, or an x.com or twitter.com profile URL."},"required":true,"description":"Account handle with or without `@`, or an x.com or twitter.com profile URL.","name":"handle","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XPostsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"posts":[{"id":"2111016836783321517","url":"https://x.com/usunvie/status/2111016836783321517","text":"The 2nd Annual U.S. Space Forum is underway in Vienna!\n\n🇺🇸🚀Ambassador Griffith and @NASA leadership opened two days of conversations showcasing American excellence, innovation, and leadership in space.  From NASA exploration to the strength of U.S. commercial space companies, America is setting the pace for the next era of discovery, security, and economic opportunity in space.\n@State_IO @CommerceinSpace","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T08:50:09.000Z","like_count":0,"reply_count":0,"repost_count":0,"quote_count":0,"view_count":71,"bookmark_count":0,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2111016836783321517","is_pinned":null,"author":{"id":"23946671","handle":"usunvie","name":"U.S. Mission to the UN (Vienna)","description":null,"location":"Vienna, Austria","website":null,"avatar_url":"https://pbs.twimg.com/profile_images/1387772183666102281/wBAJYHqW_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/23946671/1785406769","followers_count":17609,"following_count":441,"posts_count":1055,"media_count":319,"likes_count":6578,"is_verified":false,"is_blue_verified":true,"verified_type":"Government","protected":null,"created_at":"2009-03-12T13:32:07.000Z","pinned_post_ids":[],"is_automated":false},"media":[{"id":"2111016280169873408","type":"photo","url":"https://pbs.twimg.com/media/HUvWH0aXgAAWC9M.jpg","alt_text":null,"width":4096,"height":2731,"duration_ms":null,"variants":null},{"id":"2111016322393927680","type":"photo","url":"https://pbs.twimg.com/media/HUvWKRtXcAAxmUM.jpg","alt_text":null,"width":4096,"height":2731,"duration_ms":null,"variants":null},{"id":"2111016361669398529","type":"photo","url":"https://pbs.twimg.com/media/HUvWMkBXkAEzdd0.jpg","alt_text":null,"width":4096,"height":2731,"duration_ms":null,"variants":null},{"id":"2111016401406144512","type":"photo","url":"https://pbs.twimg.com/media/HUvWO4DWMAAI7OX.jpg","alt_text":null,"width":4096,"height":2731,"duration_ms":null,"variants":null}],"hashtags":[],"mentions":[{"id":"11348282","handle":"NASA","name":"NASA"},{"id":"475210759","handle":"State_IO","name":"Bureau of International Organization Affairs"},{"id":"1136993039380074496","handle":"CommerceinSpace","name":"U.S. Office of Space Commerce"}],"urls":[],"card":null,"article":null,"place":null,"quoted_post":null,"reposted_post":null},{"id":"2111027894541803976","url":"https://x.com/BobFlintoid/status/2111027894541803976","text":"Great story.\nScientists have improved the predicted time of arrival  of a solar storm from a 5 hour window to 30 minutes.\n\nNASA’s PUNCH Sharpens Solar Storm Forecasting in First Test https://t.co/cuNwSPriF0 via @NASA","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T09:34:05.000Z","like_count":0,"reply_count":0,"repost_count":0,"quote_count":0,"view_count":3,"bookmark_count":0,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2111027894541803976","is_pinned":null,"author":{"id":"1607823659292413956","handle":"BobFlintoid","name":"Bob Wright","description":null,"location":"Flint, MI","website":null,"avatar_url":"https://pbs.twimg.com/profile_images/1883505441503600640/SYfHekbb_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/1607823659292413956/1737717723","followers_count":3335,"following_count":3393,"posts_count":7421,"media_count":861,"likes_count":70877,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2022-12-27T19:40:26.000Z","pinned_post_ids":["1873041813654921700"],"is_automated":false},"media":[],"hashtags":[],"mentions":[{"id":"11348282","handle":"NASA","name":"NASA"}],"urls":[{"url":"https://t.co/cuNwSPriF0","expanded_url":"https://science.nasa.gov/science-research/heliophysics/nasas-punch-sharpens-solar-storm-forecasting-in-first-test/"}],"card":{"name":"summary_large_image","url":"https://t.co/cuNwSPriF0","title":"NASA’s PUNCH Sharpens Solar Storm Forecasting in First Test","description":"Using continuous imagery from NASA’s PUNCH (Polarimeter to Unify the Corona and Heliosphere) mission, scientists predicted the near-Earth arrival of a solar eruption to within 30 minutes in an...","image_url":"https://pbs.twimg.com/card_img/2110773724454768650/t7Q1WCGc?format=jpg&name=orig"},"article":null,"place":null,"quoted_post":null,"reposted_post":null}],"count":2,"cursor":"DAADDAABCgABHUvisQpXcUcKAAIdS9ag31axrQAIAAIAAAACCAADAAAAAAgABAAAAAAKAAUdS-TwwMAnEAoABh1L5PDAv9jwCwAH","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":5,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/profile/followers":{"get":{"operationId":"List X Profile Followers","tags":["X (Twitter) - User"],"summary":"List followers","description":"List accounts that follow a profile, up to 200 per page. Paginate with `cursor` and `has_more`. An unknown handle returns `data: null` or an empty page.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"NASA","description":"Account handle with or without `@`, or an x.com or twitter.com profile URL."},"required":true,"description":"Account handle with or without `@`, or an x.com or twitter.com profile URL.","name":"handle","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XProfilesPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"profiles":[{"id":"29472803","handle":"NASAWebb","name":"NASA Webb Telescope","description":"The Official *NASA* Webb X account. \n\nThe world's most powerful space telescope. Launched: Dec. 25, 2021. First images revealed: July 12, 2022.","location":"Lagrange Point 2","website":"https://nasa.gov/webb","avatar_url":"https://pbs.twimg.com/profile_images/1767989888916299776/hFYvpxZM_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/29472803/1657642323","followers_count":3514827,"following_count":63,"posts_count":11580,"media_count":3180,"likes_count":4463,"is_verified":false,"is_blue_verified":true,"verified_type":"Government","protected":false,"created_at":"2009-04-07T15:40:56.000Z","pinned_post_ids":["2083241232755491197"],"is_automated":false},{"id":"34743251","handle":"SpaceX","name":"SpaceX","description":"SpaceX designs, manufactures and launches the world’s most advanced rockets and spacecraft","location":"Earth","website":"http://spacex.com","avatar_url":"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/34743251/1681251194","followers_count":41913384,"following_count":127,"posts_count":11888,"media_count":4739,"likes_count":529,"is_verified":false,"is_blue_verified":true,"verified_type":"Business","protected":false,"created_at":"2009-04-23T21:53:30.000Z","pinned_post_ids":["2104354931595423762"],"is_automated":false}],"count":2,"cursor":"1879197489821311875","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/profile/followings":{"get":{"operationId":"List X Profile Followings","tags":["X (Twitter) - User"],"summary":"List followed accounts","description":"List accounts a profile follows, up to 200 per page. Paginate with `cursor` and `has_more`. An unknown handle returns `data: null` or an empty page.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"NASA","description":"Account handle with or without `@`, or an x.com or twitter.com profile URL."},"required":true,"description":"Account handle with or without `@`, or an x.com or twitter.com profile URL.","name":"handle","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XProfilesPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"profiles":[{"id":"14091091","handle":"NASAHubble","name":"Hubble","description":"The official X account for the NASA Hubble Space Telescope, managed and operated by NASA's Goddard Space Flight Center.","location":"Goddard Space Flight Center","website":"https://t.co/3bfzzswzV0","avatar_url":"https://pbs.twimg.com/profile_images/3468011581/efb985f24af0a814a722457a768f3cc5_normal.jpeg","banner_url":"https://pbs.twimg.com/profile_banners/14091091/1669391293","followers_count":8897457,"following_count":44,"posts_count":8484,"media_count":3146,"likes_count":1243,"is_verified":false,"is_blue_verified":null,"verified_type":null,"protected":false,"created_at":"2008-03-06T20:15:02.000Z","pinned_post_ids":null,"is_automated":null},{"id":"1451773004","handle":"Space_Station","name":"International Space Station","description":"NASA's page for the latest mission and science updates from the International Space Station.","location":"Low Earth Orbit","website":"https://t.co/DOiPSGitFL","avatar_url":"https://pbs.twimg.com/profile_images/1949871812176732160/ZesOirrR_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/1451773004/1753721477","followers_count":8887655,"following_count":156,"posts_count":20210,"media_count":8462,"likes_count":24082,"is_verified":false,"is_blue_verified":null,"verified_type":null,"protected":false,"created_at":"2013-05-23T15:25:28.000Z","pinned_post_ids":null,"is_automated":null}],"count":2,"cursor":null,"has_more":false}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/profile/verified-followers":{"get":{"operationId":"List X Verified Followers","tags":["X (Twitter) - User"],"summary":"List verified followers","description":"List verified accounts that follow a profile. Needs the numeric `user_id`, which `/v1/x/profile` returns as `id`. Paginate with `cursor` and `has_more`. An unknown `user_id` returns `data: null`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"11348282","description":"Numeric account ID, from the `id` field of `/v1/x/profile`. A handle is not accepted."},"required":true,"description":"Numeric account ID, from the `id` field of `/v1/x/profile`. A handle is not accepted.","name":"user_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XProfilesPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"profiles":[{"id":"813286","handle":"BarackObama","name":"Barack Obama","description":"Dad, husband, President, citizen.","location":"Washington, DC","website":"http://barackobamabooks.com","avatar_url":"https://pbs.twimg.com/profile_images/1329647526807543809/2SGvnHYV_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/813286/1712782825","followers_count":118857522,"following_count":499546,"posts_count":17558,"media_count":2852,"likes_count":58,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2007-03-05T22:08:25.000Z","pinned_post_ids":["2110793687584113148"],"is_automated":false},{"id":"807095","handle":"nytimes","name":"The New York Times","description":"We seek the truth and help people understand the world. Not a subscriber? Your first month is now free in our app. https://t.co/e2FWJZOvXD","location":"New York City","website":"http://www.nytimes.com/","avatar_url":"https://pbs.twimg.com/profile_images/1098244578472280064/gjkVMelR_normal.png","banner_url":"https://pbs.twimg.com/profile_banners/807095/1584666392","followers_count":53873934,"following_count":847,"posts_count":566447,"media_count":73131,"likes_count":18408,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2007-03-02T20:41:42.000Z","pinned_post_ids":[],"is_automated":false}],"count":2,"cursor":"1879197073694720535|2111032589484556266","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/profile/relationship":{"get":{"operationId":"Check X Follow Relationship","tags":["X (Twitter) - User"],"summary":"Check follow relationship","description":"Check whether one account follows another, in both directions. An unknown handle returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"NASA","description":"The account whose follows are checked. Account handle with or without `@`, or an x.com or twitter.com profile URL."},"required":true,"description":"The account whose follows are checked. Account handle with or without `@`, or an x.com or twitter.com profile URL.","name":"source","in":"query"},{"schema":{"type":"string","maxLength":300,"example":"NASA","description":"The account checked against `source`. Account handle with or without `@`, or an x.com or twitter.com profile URL."},"required":true,"description":"The account checked against `source`. Account handle with or without `@`, or an x.com or twitter.com profile URL.","name":"target","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XRelationship"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"source":"NASA","target":"elonmusk","source_follows_target":false,"target_follows_source":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/search/profiles":{"get":{"operationId":"Search X Profiles","tags":["X (Twitter) - Search"],"summary":"Search profiles","description":"Find accounts by name, handle, or keyword. Paginate with `cursor` and `has_more`. No matches return an empty `profiles` array.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":1000,"example":"openai","description":"Name, handle, or keywords to find accounts by."},"required":true,"description":"Name, handle, or keywords to find accounts by.","name":"query","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XProfilesPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"profiles":[{"id":"4398626122","handle":"OpenAI","name":"OpenAI","description":"OpenAI’s mission is to ensure that artificial general intelligence benefits all of humanity. We’re hiring: https://t.co/dJGr6LgzPA","location":null,"website":"https://t.co/3bPlZZkvdL","avatar_url":"https://pbs.twimg.com/profile_images/1885410181409820672/ztsaR0JW_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/4398626122/1777662919","followers_count":5440081,"following_count":4,"posts_count":2185,"media_count":746,"likes_count":2534,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2015-12-06T22:51:08.000Z","pinned_post_ids":null,"is_automated":null},{"id":"28940967","handle":"lidangzzz","name":"lidang 立党 （劝人卖房/学CS/买SP500/纳100/OpenAI/Anthrop第一人）","description":"co-founder @HedgehogLabHQ @Project_DARC\n（私信提问前请务必先到YouTube频道观看各期解答世间万物节目，有问题请到X Space上麦直接询问，未回私信证明你的问题已经在YouTube回答过了）","location":"Houston, TX","website":"https://t.co/RcYK9nT6WO","avatar_url":"https://pbs.twimg.com/profile_images/1589854626282618880/Pl_kF0yY_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/28940967/1590188835","followers_count":1611441,"following_count":2750,"posts_count":49879,"media_count":10324,"likes_count":29344,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2009-04-05T04:33:19.000Z","pinned_post_ids":null,"is_automated":null}],"count":2,"cursor":"DAAFCgABHUvk9ev__z8LAAIAAADwRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUJRQUFBQUFGUS9DYWhaSDgxR0lsa0FBR1FpTi9R","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":6,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/search":{"get":{"operationId":"Search X Posts","tags":["X (Twitter) - Search"],"summary":"Search posts","description":"Search posts with X search operators, newest or most engaged first. Paginate with `cursor` and `has_more`. A malformed query returns 400; no matches return an empty `posts` array.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":1000,"example":"from:NASA moon","description":"Search text with X search operators, such as `from:NASA`, `\"exact phrase\"`, `since:2026-10-01`, or `#hashtag`."},"required":true,"description":"Search text with X search operators, such as `from:NASA`, `\"exact phrase\"`, `since:2026-10-01`, or `#hashtag`.","name":"query","in":"query"},{"schema":{"type":"string","enum":["latest","top"],"default":"latest","example":"latest","description":"`latest` returns newest posts first; `top` returns the most engaged posts."},"required":false,"description":"`latest` returns newest posts first; `top` returns the most engaged posts.","name":"sort","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XPostsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"posts":[{"id":"2110832251126644974","url":"https://x.com/NASA/status/2110832251126644974","text":"@StCroixSkol 🙌","lang":"qme","source":"Twitter for iPhone","created_at":"2026-10-15T20:36:40.000Z","like_count":10,"reply_count":0,"repost_count":0,"quote_count":0,"view_count":2161,"bookmark_count":0,"is_reply":true,"in_reply_to_post_id":"2110812438602076427","in_reply_to_user_id":"2094305529736679424","in_reply_to_handle":"StCroixSkol","conversation_id":"2110798512795377741","is_pinned":null,"author":{"id":"11348282","handle":"NASA","name":"NASA","description":null,"location":"Pale Blue Dot","website":null,"avatar_url":"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/11348282/1788992290","followers_count":92324081,"following_count":115,"posts_count":74434,"media_count":28199,"likes_count":17030,"is_verified":false,"is_blue_verified":true,"verified_type":"Government","protected":null,"created_at":"2007-12-19T20:20:32.000Z","pinned_post_ids":[],"is_automated":false},"media":[],"hashtags":[],"mentions":[{"id":"2094305529736679424","handle":"StCroixSkol","name":"Kyle"}],"urls":[],"card":null,"article":null,"place":null,"quoted_post":null,"reposted_post":null},{"id":"2110823965954637903","url":"https://x.com/NASA/status/2110823965954637903","text":"LIVE: Tune in as agency leaders and partners discuss NASA's contributions to @JAXA_en's Martian Moons eXploration (MMX) mission, scheduled to lift off on Monday, Oct. 19. https://t.co/TgO3c1FmNs https://t.co/RK9OwELDC2","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-15T20:03:45.000Z","like_count":798,"reply_count":60,"repost_count":117,"quote_count":9,"view_count":302209,"bookmark_count":39,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110823965954637903","is_pinned":null,"author":{"id":"11348282","handle":"NASA","name":"NASA","description":null,"location":"Pale Blue Dot","website":null,"avatar_url":"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/11348282/1788992290","followers_count":92324081,"following_count":115,"posts_count":74434,"media_count":28199,"likes_count":17030,"is_verified":false,"is_blue_verified":true,"verified_type":"Government","protected":null,"created_at":"2007-12-19T20:20:32.000Z","pinned_post_ids":[],"is_automated":false},"media":[{"id":"2110821837366046721","type":"photo","url":"https://pbs.twimg.com/media/HUslRwhXMAEmXG2.jpg","alt_text":"The blue NASA \"meatball\" insignia overlaid on top of a Martian background.","width":1920,"height":1080,"duration_ms":null,"variants":null}],"hashtags":[],"mentions":[{"id":"104989762","handle":"JAXA_en","name":"JAXA(Japan Aerospace Exploration Agency)"}],"urls":[{"url":"https://t.co/TgO3c1FmNs","expanded_url":"https://youtu.be/3k2mpWrOD1s"}],"card":null,"article":null,"place":null,"quoted_post":null,"reposted_post":null}],"count":2,"cursor":"DAADDAABCgABHUsuv6zXgO4KAAIdQi7j3ReBNwAIAAIAAAACCAADAAAAAAgABAAAAAAKAAUdS-T2sEAnEAoABh1L5PawP9jwCwAH","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":5,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/post":{"get":{"operationId":"Get X Post","tags":["X (Twitter) - Post"],"summary":"Get post details","description":"Get a post by ID or status URL, with text, counts, author, media, and any quoted or reposted post. An unknown ID returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"2110947164512038931","description":"Numeric post ID, such as the `id` of a post in any list response, or an x.com status URL."},"required":true,"description":"Numeric post ID, such as the `id` of a post in any list response, or an x.com status URL.","name":"id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XPost"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"id":"2110947164512038931","url":"https://x.com/elonmusk/status/2110947164512038931","text":"My OG Roadster is still orbiting Mars and Earth","lang":"en","source":null,"created_at":"2026-10-16T04:13:18.000Z","like_count":28745,"reply_count":1803,"repost_count":1924,"quote_count":223,"view_count":1318534,"bookmark_count":655,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110947164512038931","is_pinned":false,"author":{"id":"44196397","handle":"elonmusk","name":"Elon Musk","description":"https://t.co/ZdBx5WABYx","location":null,"website":null,"avatar_url":"https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/44196397/1774145451","followers_count":241486916,"following_count":1420,"posts_count":110328,"media_count":4740,"likes_count":253528,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2009-06-02T20:12:29.000Z","pinned_post_ids":["2110913107094606330"],"is_automated":false},"media":[],"hashtags":[],"mentions":[],"urls":[],"card":null,"article":null,"place":null,"quoted_post":{"id":"2110901359952408576","url":"https://x.com/Tesla/status/2110901359952408576","text":"Roadster and a rocket have shared a ride before https://t.co/fSjkkrvzqx","lang":"en","source":null,"created_at":"2026-10-16T01:11:17.000Z","like_count":11213,"reply_count":249,"repost_count":872,"quote_count":138,"view_count":1410563,"bookmark_count":394,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110901359952408576","is_pinned":false,"author":{"id":"13298072","handle":"Tesla","name":"Tesla","description":"Electric vehicles, giant batteries & solar, SI & robotics","location":null,"website":"https://www.tesla.com","avatar_url":"https://pbs.twimg.com/profile_images/1337607516008501250/6Ggc4S5n_normal.png","banner_url":"https://pbs.twimg.com/profile_banners/13298072/1762567360","followers_count":24857431,"following_count":55,"posts_count":10670,"media_count":2065,"likes_count":8290,"is_verified":false,"is_blue_verified":true,"verified_type":"Business","protected":null,"created_at":"2008-02-10T01:12:32.000Z","pinned_post_ids":["2110788059008819215"],"is_automated":false},"media":[{"id":"2110901240825823232","type":"photo","url":"https://pbs.twimg.com/media/HUttfpdawAAQMGK.jpg","alt_text":null,"width":1920,"height":1080,"duration_ms":null,"variants":null},{"id":"2110901265878364161","type":"photo","url":"https://pbs.twimg.com/media/HUtthGyaMAEkD-g.jpg","alt_text":null,"width":3406,"height":1722,"duration_ms":null,"variants":null}],"hashtags":[],"mentions":[],"urls":[],"card":null,"article":null,"place":null},"reposted_post":null}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/post/replies":{"get":{"operationId":"List X Post Replies","tags":["X (Twitter) - Post"],"summary":"List post replies","description":"List replies to a post, ordered by relevance, recency, or likes. Paginate with `cursor` and `has_more`. A post with no replies returns an empty `posts` array. An unknown post ID returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"2110947164512038931","description":"Numeric post ID, such as the `id` of a post in any list response, or an x.com status URL."},"required":true,"description":"Numeric post ID, such as the `id` of a post in any list response, or an x.com status URL.","name":"id","in":"query"},{"schema":{"type":"string","enum":["relevance","latest","likes"],"default":"relevance","example":"relevance","description":"Reply order: `relevance` (default), `latest`, or `likes`."},"required":false,"description":"Reply order: `relevance` (default), `latest`, or `likes`.","name":"sort","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XPostsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"posts":[{"id":"2110947164512038931","url":"https://x.com/elonmusk/status/2110947164512038931","text":"My OG Roadster is still orbiting Mars and Earth","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T04:13:18.000Z","like_count":28746,"reply_count":1803,"repost_count":1924,"quote_count":223,"view_count":1318534,"bookmark_count":655,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110947164512038931","is_pinned":false,"author":{"id":"44196397","handle":"elonmusk","name":"Elon Musk","description":"https://t.co/ZdBx5WABYx","location":null,"website":null,"avatar_url":"https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/44196397/1774145451","followers_count":241486905,"following_count":1420,"posts_count":110328,"media_count":4740,"likes_count":253528,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2009-06-02T20:12:29.000Z","pinned_post_ids":["2110913107094606330"],"is_automated":false},"media":[],"hashtags":[],"mentions":[],"urls":[],"card":{"name":null,"url":null,"title":null,"description":null,"image_url":null},"article":null,"place":null,"quoted_post":{"id":"2110901359952408576","url":"https://x.com/Tesla/status/2110901359952408576","text":"Roadster and a rocket have shared a ride before https://t.co/fSjkkrvzqx","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T01:11:17.000Z","like_count":11213,"reply_count":249,"repost_count":872,"quote_count":138,"view_count":1410563,"bookmark_count":394,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110901359952408576","is_pinned":false,"author":{"id":"13298072","handle":"Tesla","name":"Tesla","description":"Electric vehicles, giant batteries & solar, SI & robotics","location":null,"website":"https://www.tesla.com","avatar_url":"https://pbs.twimg.com/profile_images/1337607516008501250/6Ggc4S5n_normal.png","banner_url":"https://pbs.twimg.com/profile_banners/13298072/1762567360","followers_count":24857430,"following_count":55,"posts_count":10670,"media_count":2065,"likes_count":8290,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2008-02-10T01:12:32.000Z","pinned_post_ids":["2110788059008819215"],"is_automated":false},"media":[{"id":"2110901240825823232","type":"photo","url":"https://pbs.twimg.com/media/HUttfpdawAAQMGK.jpg","alt_text":null,"width":1920,"height":1080,"duration_ms":null,"variants":null},{"id":"2110901265878364161","type":"photo","url":"https://pbs.twimg.com/media/HUtthGyaMAEkD-g.jpg","alt_text":null,"width":3406,"height":1722,"duration_ms":null,"variants":null}],"hashtags":[],"mentions":[],"urls":[],"card":{"name":null,"url":null,"title":null,"description":null,"image_url":null},"article":null,"place":null},"reposted_post":null},{"id":"2110386706260308037","url":"https://x.com/WSJ/status/2110386706260308037","text":"Expert insights to stay ahead—now $3/wk.","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-14T15:06:14.000Z","like_count":310,"reply_count":24,"repost_count":47,"quote_count":1,"view_count":2734197,"bookmark_count":24,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110386706260308037","is_pinned":false,"author":{"id":"3108351","handle":"WSJ","name":"The Wall Street Journal","description":"Sign up for our newsletters and alerts: https://t.co/QevH0DLQi8 | Got a tip? https://t.co/iXIigdPjEZ | For WSJ customer support: https://t.co/DZgH9n53qg","location":"New York, NY","website":"http://wsj.com","avatar_url":"https://pbs.twimg.com/profile_images/971415515754266624/zCX0q9d5_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/3108351/1722961044","followers_count":22275119,"following_count":1058,"posts_count":509752,"media_count":59204,"likes_count":1065,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2007-04-01T06:22:13.000Z","pinned_post_ids":[],"is_automated":false},"media":[],"hashtags":[],"mentions":[],"urls":[],"card":{"name":null,"url":null,"title":null,"description":null,"image_url":null},"article":null,"place":null,"quoted_post":null,"reposted_post":null}],"count":2,"cursor":"DAAKCgABHUvk-HZ__mMLAAIAAAGoRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUNVZFM1ekN5MWVCK1IxTG51UExsNEMzSFV1WXM5","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":5,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/post/quotes":{"get":{"operationId":"List X Post Quotes","tags":["X (Twitter) - Post"],"summary":"List post quotes","description":"List posts that quote a post. Paginate with `cursor` and `has_more`. A post with no quotes returns an empty `posts` array. An unknown post ID returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"2110947164512038931","description":"Numeric post ID, such as the `id` of a post in any list response, or an x.com status URL."},"required":true,"description":"Numeric post ID, such as the `id` of a post in any list response, or an x.com status URL.","name":"id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XPostsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"posts":[{"id":"2111023107431645612","url":"https://x.com/lightworkyuko/status/2111023107431645612","text":"イーロンマスクさん、\nあなたが持っている技術で\n\n善良でありながら\nオールドメディアを妄信している\n多数の日本人に、\n\n覚醒のビームを、\nぜひ日本に、\n日本に照射して下さい\n\n日本人は眠っているだけです\n\n遺伝子が目覚めれば\nきっとこれからの時代を\n精神性の部分で\nリードしていけるのだと思う","lang":"ja","source":"Twitter for iPhone","created_at":"2026-10-16T09:15:04.000Z","like_count":11,"reply_count":0,"repost_count":3,"quote_count":0,"view_count":322,"bookmark_count":1,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2111023107431645612","is_pinned":null,"author":{"id":"1470358457824202760","handle":"lightworkyuko","name":"yuko","description":null,"location":"日本　埼玉→都内→川崎→茨城","website":null,"avatar_url":"https://pbs.twimg.com/profile_images/1485083951027093504/WlvSQNDK_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/1470358457824202760/1642906582","followers_count":21256,"following_count":19,"posts_count":3801,"media_count":96,"likes_count":123600,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2021-12-13T11:43:37.000Z","pinned_post_ids":["2110903393183281279"],"is_automated":false},"media":[],"hashtags":[],"mentions":[],"urls":[],"card":null,"article":null,"place":null,"quoted_post":{"id":"2110947164512038931","url":"https://x.com/elonmusk/status/2110947164512038931","text":"My OG Roadster is still orbiting Mars and Earth","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T04:13:18.000Z","like_count":28747,"reply_count":1803,"repost_count":1924,"quote_count":223,"view_count":1318534,"bookmark_count":655,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110947164512038931","is_pinned":null,"author":{"id":"44196397","handle":"elonmusk","name":"Elon Musk","description":null,"location":null,"website":null,"avatar_url":"https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/44196397/1774145451","followers_count":241486916,"following_count":1420,"posts_count":110328,"media_count":4740,"likes_count":253528,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2009-06-02T20:12:29.000Z","pinned_post_ids":["2110913107094606330"],"is_automated":false},"media":[],"hashtags":[],"mentions":[],"urls":[],"card":null,"article":null,"place":null},"reposted_post":null},{"id":"2111016675432972669","url":"https://x.com/AlSultan_Meriam/status/2111016675432972669","text":"The OG Roadster that was sent on Space had been there for exactly\n8 years\n8 months\nAnd 8 days!!! https://t.co/YeyoWlpQoc","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T08:49:30.000Z","like_count":0,"reply_count":0,"repost_count":0,"quote_count":0,"view_count":67,"bookmark_count":0,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2111016675432972669","is_pinned":null,"author":{"id":"1105351675","handle":"AlSultan_Meriam","name":"Meriam Al Sultan سا(حرة) 🪄","description":null,"location":"San Francisco, CA","website":null,"avatar_url":"https://pbs.twimg.com/profile_images/2045965721906356224/pCqlXhmL_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/1105351675/1679928702","followers_count":17526,"following_count":2563,"posts_count":209669,"media_count":27355,"likes_count":54285,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2013-01-20T04:18:41.000Z","pinned_post_ids":["2101727329479544970"],"is_automated":false},"media":[{"id":"2111016672236912640","type":"photo","url":"https://pbs.twimg.com/media/HUvWeo-bwAAZfbp.jpg","alt_text":null,"width":1320,"height":1607,"duration_ms":null,"variants":null}],"hashtags":[],"mentions":[],"urls":[],"card":null,"article":null,"place":null,"quoted_post":{"id":"2110947164512038931","url":"https://x.com/elonmusk/status/2110947164512038931","text":"My OG Roadster is still orbiting Mars and Earth","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T04:13:18.000Z","like_count":28747,"reply_count":1803,"repost_count":1924,"quote_count":223,"view_count":1318534,"bookmark_count":655,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110947164512038931","is_pinned":null,"author":{"id":"44196397","handle":"elonmusk","name":"Elon Musk","description":null,"location":null,"website":null,"avatar_url":"https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/44196397/1774145451","followers_count":241486916,"following_count":1420,"posts_count":110328,"media_count":4740,"likes_count":253528,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2009-06-02T20:12:29.000Z","pinned_post_ids":["2110913107094606330"],"is_automated":false},"media":[],"hashtags":[],"mentions":[],"urls":[],"card":null,"article":null,"place":null},"reposted_post":null}],"count":2,"cursor":"DAADDAABCgABHUvk2gkWIHsKAAIdS845JxrRLgAIAAIAAAACCAADAAAAAAgABAAAAAAKAAUdS-T57gAnEAoABh1L5Pnt_9jwCwAH","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":5,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/post/retweeters":{"get":{"operationId":"List X Post Reposters","tags":["X (Twitter) - Post"],"summary":"List post reposters","description":"List accounts that reposted a post. Paginate with `cursor` and `has_more`. A post with no reposts returns an empty `profiles` array. An unknown post ID returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"2110947164512038931","description":"Numeric post ID, such as the `id` of a post in any list response, or an x.com status URL."},"required":true,"description":"Numeric post ID, such as the `id` of a post in any list response, or an x.com status URL.","name":"id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XProfilesPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"profiles":[{"id":"742143","handle":"BBCWorld","name":"BBC News (World)","description":"News, features and analysis from the World's newsroom. Breaking news, follow @BBCBreaking. UK news, @BBCNews. Latest sports news @BBCSport","location":"London, UK","website":"http://www.bbc.com/news","avatar_url":"https://pbs.twimg.com/profile_images/1529107170448523264/q3VwEx38_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/742143/1663658662","followers_count":42339861,"following_count":17,"posts_count":412206,"media_count":27318,"likes_count":1,"is_verified":false,"is_blue_verified":true,"verified_type":"Business","protected":false,"created_at":"2007-02-01T07:44:29.000Z","pinned_post_ids":[],"is_automated":false},{"id":"1652541","handle":"Reuters","name":"Reuters","description":"Top and breaking news, pictures and videos from Reuters. For breaking business news, follow @ReutersBiz. Our daily podcast is here: https://t.co/KO0QFy0d3a","location":"Around the world","website":"http://www.reuters.com","avatar_url":"https://pbs.twimg.com/profile_images/1874154135869616128/nJDmubGJ_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/1652541/1573687397","followers_count":26426274,"following_count":1195,"posts_count":1402580,"media_count":1015439,"likes_count":669,"is_verified":false,"is_blue_verified":true,"verified_type":"Business","protected":false,"created_at":"2007-03-20T17:46:05.000Z","pinned_post_ids":[],"is_automated":false}],"count":2,"cursor":"SEJhQWdJQzU5ZktnbERRQUFBPT0=","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":5,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/post/thread":{"get":{"operationId":"Get X Post Thread","tags":["X (Twitter) - Post"],"summary":"Get post thread","description":"Get the conversation around a post: the posts it replies to and the replies that follow. Paginate with `cursor` and `has_more`. An unknown post ID returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"2110947164512038931","description":"Numeric post ID, such as the `id` of a post in any list response, or an x.com status URL."},"required":true,"description":"Numeric post ID, such as the `id` of a post in any list response, or an x.com status URL.","name":"id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XPostsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"posts":[{"id":"2110947164512038931","url":"https://x.com/elonmusk/status/2110947164512038931","text":"My OG Roadster is still orbiting Mars and Earth","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T04:13:18.000Z","like_count":28749,"reply_count":1803,"repost_count":1924,"quote_count":223,"view_count":1318534,"bookmark_count":655,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110947164512038931","is_pinned":null,"author":{"id":"44196397","handle":"elonmusk","name":"Elon Musk","description":"https://t.co/ZdBx5WABYx","location":null,"website":null,"avatar_url":"https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/44196397/1774145451","followers_count":241486915,"following_count":1420,"posts_count":110328,"media_count":4740,"likes_count":253528,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2009-06-02T20:12:29.000Z","pinned_post_ids":["2110913107094606330"],"is_automated":null},"media":[],"hashtags":[],"mentions":[],"urls":[],"card":null,"article":null,"place":null,"quoted_post":{"id":"2110901359952408576","url":"https://x.com/Tesla/status/2110901359952408576","text":"Roadster and a rocket have shared a ride before https://t.co/fSjkkrvzqx","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T01:11:17.000Z","like_count":11214,"reply_count":249,"repost_count":872,"quote_count":138,"view_count":1410563,"bookmark_count":394,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2110901359952408576","is_pinned":null,"author":{"id":"13298072","handle":"Tesla","name":"Tesla","description":"Electric vehicles, giant batteries & solar, SI & robotics","location":null,"website":"https://www.tesla.com","avatar_url":"https://pbs.twimg.com/profile_images/1337607516008501250/6Ggc4S5n_normal.png","banner_url":"https://pbs.twimg.com/profile_banners/13298072/1762567360","followers_count":24857451,"following_count":55,"posts_count":10670,"media_count":2065,"likes_count":8290,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2008-02-10T01:12:32.000Z","pinned_post_ids":["2110788059008819215"],"is_automated":null},"media":[{"id":"2110901240825823232","type":"photo","url":"https://pbs.twimg.com/media/HUttfpdawAAQMGK.jpg","alt_text":null,"width":1920,"height":1080,"duration_ms":null,"variants":null},{"id":"2110901265878364161","type":"photo","url":"https://pbs.twimg.com/media/HUtthGyaMAEkD-g.jpg","alt_text":null,"width":3406,"height":1722,"duration_ms":null,"variants":null}],"hashtags":[],"mentions":[],"urls":[],"card":null,"article":null,"place":null},"reposted_post":null},{"id":"2110951631739146349","url":"https://x.com/BigImpactHumans/status/2110951631739146349","text":"@elonmusk Makes me happy","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T04:31:03.000Z","like_count":11,"reply_count":0,"repost_count":0,"quote_count":0,"view_count":292,"bookmark_count":0,"is_reply":true,"in_reply_to_post_id":"2110947164512038931","in_reply_to_user_id":"44196397","in_reply_to_handle":"elonmusk","conversation_id":"2110947164512038931","is_pinned":null,"author":{"id":"2961936246","handle":"BigImpactHumans","name":"LilHumansBigImpact","description":"• I have a smorgasbord of interest • Advancement of humanity 🚀• Abundance 🫶🏼 Kardashev cutie ☀️ 💁🏼‍♀️","location":"USA","website":"https://grokipedia.com/page/LilHumansBigImpact","avatar_url":"https://pbs.twimg.com/profile_images/2110101076552581120/TSnDiNb4_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/2961936246/1710591969","followers_count":214058,"following_count":2332,"posts_count":181025,"media_count":25507,"likes_count":388285,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2015-01-07T03:38:49.000Z","pinned_post_ids":["2108377131688640727"],"is_automated":null},"media":[],"hashtags":[],"mentions":[{"id":"44196397","handle":"elonmusk","name":"Elon Musk"}],"urls":[],"card":null,"article":null,"place":null,"quoted_post":null,"reposted_post":null}],"count":2,"cursor":"DAAKCgABHUvk_Cp__mMLAAIAAAGoRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUNVZFM1ekN5MWVCK1IxTG51UExsNEMzSFV1WXM5","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":9,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/article":{"get":{"operationId":"Get X Article","tags":["X (Twitter) - Post"],"summary":"Get article","description":"Get the long-form article attached to a post: title, author, counts, and body blocks including images. A post without an article returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"1905545699552375179","description":"ID of the post that carries the article, or its x.com status URL."},"required":true,"description":"ID of the post that carries the article, or its x.com status URL.","name":"id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XArticle"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"id":"QXJ0aWNsZUVudGl0eToxOTA1NTQxMTM5MTQ0Mjk4NDk4","title":"When Tokens Burn","preview_text":"Breaking down how crypto protocols approach revenue and cash flow\nThis is a summarised version of a newsletter issue published on Decentralised.co. We are actively collaborating with token","cover_image_url":"https://pbs.twimg.com/media/GnHXrznXUAEs-v5.jpg","author":{"id":"1764631141926002689","handle":"Decentralisedco","name":"DCo","description":"Research and investments.","location":"Subscribe →","website":"https://Decentralised.co","avatar_url":"https://pbs.twimg.com/profile_images/1766132688316973056/LB-8W7_d_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/1764631141926002689/1773416426","followers_count":14024,"following_count":428,"posts_count":1171,"media_count":518,"likes_count":2247,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2024-03-04T12:37:18.000Z","pinned_post_ids":["2029569587029934133"],"is_automated":false},"created_at":"2025-03-28T09:01:12.000Z","like_count":156,"reply_count":16,"quote_count":8,"view_count":44374,"content":[{"type":"unstyled","text":"Breaking down how crypto protocols approach revenue and cash flow","url":null,"width":null,"height":null,"styles":[{"style":"Italic","offset":0,"length":65}]},{"type":"unstyled","text":"This is a summarised version of a newsletter issue published on Decentralised.co. We are actively collaborating with token issuers on the lifecycle of the asset. If you are a protocol exploring tying tokens to revenue, consider reaching out to us via DMs or e-mail venture@decentralised.co.","url":null,"width":null,"height":null,"styles":[{"style":"Italic","offset":0,"length":290}]},{"type":"unstyled","text":"Written by @desh_saurabh ","url":null,"width":null,"height":null,"styles":[{"style":"Italic","offset":0,"length":11}]},{"type":"unstyled","text":"Thanks to @kashdhanda for his inputs","url":null,"width":null,"height":null,"styles":[{"style":"Italic","offset":0,"length":36}]},{"type":"divider","text":null,"url":null,"width":null,"height":null,"styles":null},{"type":"header-two","text":"The Zero-Sum Attention Game","url":null,"width":null,"height":null,"styles":[{"style":"Bold","offset":0,"length":27}]}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/list/posts":{"get":{"operationId":"List X List Posts","tags":["X (Twitter) - List"],"summary":"List posts in a list","description":"List recent posts from the accounts in an X list. Paginate with `cursor` and `has_more`. An unknown list ID returns `data: null`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"1470954161587978244","description":"Numeric list ID from the list's x.com/i/lists URL."},"required":true,"description":"Numeric list ID from the list's x.com/i/lists URL.","name":"list_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XPostsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"posts":[{"id":"2110951278868312160","url":"https://x.com/cz_binance/status/2110951278868312160","text":"@tradorblu Sure did.","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T04:29:39.000Z","like_count":53,"reply_count":38,"repost_count":5,"quote_count":4,"view_count":30426,"bookmark_count":1,"is_reply":true,"in_reply_to_post_id":"2110950465328537938","in_reply_to_user_id":"1936223506548899842","in_reply_to_handle":"tradorblu","conversation_id":"2110949227283329244","is_pinned":null,"author":{"id":"902926941413453824","handle":"cz_binance","name":"CZ 🔶 BNB","description":null,"location":null,"website":null,"avatar_url":"https://pbs.twimg.com/profile_images/2041696316451909632/7K4xEnRE_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/902926941413453824/1597864552","followers_count":12994231,"following_count":1244,"posts_count":9359,"media_count":1005,"likes_count":18393,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2017-08-30T16:12:13.000Z","pinned_post_ids":["2050391023034216808"],"is_automated":false},"media":[],"hashtags":[],"mentions":[{"id":"1936223506548899842","handle":"tradorblu","name":"blu"}],"urls":[],"card":null,"article":null,"place":null,"quoted_post":null,"reposted_post":null},{"id":"2110949511237632338","url":"https://x.com/cz_binance/status/2110949511237632338","text":"@TylerDurden X investment got rolled into SPCX, worked out well. 🙏","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T04:22:37.000Z","like_count":440,"reply_count":76,"repost_count":16,"quote_count":10,"view_count":38495,"bookmark_count":10,"is_reply":true,"in_reply_to_post_id":"2110947385602146318","in_reply_to_user_id":"1469851247133945856","in_reply_to_handle":"TylerDurden","conversation_id":"2110946493536346548","is_pinned":null,"author":{"id":"902926941413453824","handle":"cz_binance","name":"CZ 🔶 BNB","description":null,"location":null,"website":null,"avatar_url":"https://pbs.twimg.com/profile_images/2041696316451909632/7K4xEnRE_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/902926941413453824/1597864552","followers_count":12994231,"following_count":1244,"posts_count":9359,"media_count":1005,"likes_count":18393,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":null,"created_at":"2017-08-30T16:12:13.000Z","pinned_post_ids":["2050391023034216808"],"is_automated":false},"media":[],"hashtags":[],"mentions":[{"id":"1469851247133945856","handle":"TylerDurden","name":"Tyler"}],"urls":[],"card":null,"article":null,"place":null,"quoted_post":null,"reposted_post":null}],"count":2,"cursor":"DAADDAABCgABHUvEHklaMcwKAAIdSyLVYtpRvQAIAAIAAAACCAADAAAAAAgABAAAAAAKAAUdS-T9lsAnEAoABh1L5P2Wv9jwCwAH","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":5,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/list/members":{"get":{"operationId":"List X List Members","tags":["X (Twitter) - List"],"summary":"List list members","description":"List the accounts that belong to an X list. Paginate with `cursor` and `has_more`. An unknown list ID returns `data: null`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"1470954161587978244","description":"Numeric list ID from the list's x.com/i/lists URL."},"required":true,"description":"Numeric list ID from the list's x.com/i/lists URL.","name":"list_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XMembersPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"members":[{"id":"34743251","handle":"SpaceX","name":"SpaceX","description":"SpaceX designs, manufactures and launches the world’s most advanced rockets and spacecraft","location":"Earth","website":"http://spacex.com","avatar_url":"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/34743251/1681251194","followers_count":41913384,"following_count":127,"posts_count":11888,"media_count":4739,"likes_count":529,"is_verified":false,"is_blue_verified":true,"verified_type":"Business","protected":false,"created_at":"2009-04-23T21:53:30.000Z","pinned_post_ids":["2104354931595423762"],"is_automated":false},{"id":"14091091","handle":"NASAHubble","name":"Hubble","description":"The official X account for the NASA Hubble Space Telescope, managed and operated by NASA's Goddard Space Flight Center.","location":"Goddard Space Flight Center","website":"http://www.nasa.gov/mission_pages/hubble/main/index.html","avatar_url":"https://pbs.twimg.com/profile_images/3468011581/efb985f24af0a814a722457a768f3cc5_normal.jpeg","banner_url":"https://pbs.twimg.com/profile_banners/14091091/1669391293","followers_count":8897481,"following_count":44,"posts_count":8484,"media_count":3146,"likes_count":1243,"is_verified":false,"is_blue_verified":true,"verified_type":"Government","protected":false,"created_at":"2008-03-06T20:15:02.000Z","pinned_post_ids":[],"is_automated":false}],"count":2,"cursor":"5947191889606537216|2111032633176621034","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":6,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/list/followers":{"get":{"operationId":"List X List Followers","tags":["X (Twitter) - List"],"summary":"List list followers","description":"List the accounts that follow an X list. Paginate with `cursor` and `has_more`. An unknown list ID returns `data: null`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"1470954161587978244","description":"Numeric list ID from the list's x.com/i/lists URL."},"required":true,"description":"Numeric list ID from the list's x.com/i/lists URL.","name":"list_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XProfilesPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"profiles":[{"id":"807095","handle":"nytimes","name":"The New York Times","description":"We seek the truth and help people understand the world. Not a subscriber? Your first month is now free in our app. https://t.co/e2FWJZOvXD","location":"New York City","website":"http://www.nytimes.com/","avatar_url":"https://pbs.twimg.com/profile_images/1098244578472280064/gjkVMelR_normal.png","banner_url":"https://pbs.twimg.com/profile_banners/807095/1584666392","followers_count":53873934,"following_count":847,"posts_count":566447,"media_count":73131,"likes_count":18408,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2007-03-02T20:41:42.000Z","pinned_post_ids":[],"is_automated":false},{"id":"1451773004","handle":"Space_Station","name":"International Space Station","description":"NASA's page for the latest mission and science updates from the International Space Station.","location":"Low Earth Orbit","website":"http://www.nasa.gov/station","avatar_url":"https://pbs.twimg.com/profile_images/1949871812176732160/ZesOirrR_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/1451773004/1753721477","followers_count":8887710,"following_count":156,"posts_count":20210,"media_count":8462,"likes_count":24082,"is_verified":false,"is_blue_verified":true,"verified_type":"Government","protected":false,"created_at":"2013-05-23T15:25:28.000Z","pinned_post_ids":[],"is_automated":false}],"count":2,"cursor":"0|2111032635110195193","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":6,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/community":{"get":{"operationId":"Get X Community","tags":["X (Twitter) - Community"],"summary":"Get community","description":"Get a community's name, description, member and moderator counts, join policy, rules, creator, and admin. An unknown ID returns `data: null`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"1493446837214187523","description":"Numeric community ID from the community's x.com/i/communities URL."},"required":true,"description":"Numeric community ID from the community's x.com/i/communities URL.","name":"community_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XCommunity"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"id":"1493446837214187523","name":"Build in Public","description":"Share what you're working on. Get feedback. Help each other move forward. – Sponsored by bolt.new ⚡","join_question":"What are you working on?","member_count":268958,"moderator_count":6,"created_at":"2022-02-15T04:47:27.000Z","join_policy":"Open","invites_policy":"MemberInvitesAllowed","is_nsfw":false,"primary_topic":{"id":"603","name":"Entrepreneurship"},"banner_url":"https://pbs.twimg.com/community_banner_img/1915033378811772928/KdaKUaRP?format=png&name=orig","rules":[{"id":"1493447542045958144","name":"Share what you're working on","description":"Don't be scared to share unfinished work"},{"id":"1493448150169755648","name":"Screenshots, screencasts, drafts, etc","description":"Visual tweets tend to grab people's attention"},{"id":"1836095088465781029","name":"No self-promotion","description":"Don't ask for upvotes or advertise your products/services."},{"id":"1836095194716066104","name":"Stay on-topic","description":"Only post about building in public. No politics or other off-topic posts. There are other communities for that."},{"id":"1836095002557944207","name":"No engagement farming","description":"If your goal is to get replies, likes, etc, don’t post it here. Don’t ask super generic questions like “what’s everyone working on?”"},{"id":"1836094745590059481","name":"Use a personal account","description":"No company accounts. No logos. Use your own name. No promotion or URLs in your name."}],"creator":{"id":"641633","handle":"marckohlbrugge","name":"Marc Köhlbrugge","description":"🚧 https://t.co/aMZ4K3azU0 🏠 https://t.co/1KH3Ex4L2r 🤑 https://t.co/z2G662Uvhl 👀 https://t.co/LtA0MMRVNA 🚀 https://t.co/sxmNUGTYQv 📣 https://t.co/oPODwYE4Iq 💻 https://t.co/leziY51tRd 📸 https://t.co/NJnFBXCSCj #️⃣ https://t.co/6qUnpK7VH5","location":null,"website":"https://t.co/QVn818Sinw","avatar_url":"https://pbs.twimg.com/profile_images/1857124042433572864/iMivVaYP_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/641633/1781378883","followers_count":89305,"following_count":974,"posts_count":50145,"media_count":4896,"likes_count":37852,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2007-01-15T23:55:33.000Z","pinned_post_ids":null,"is_automated":null},"admin":{"id":"641633","handle":"marckohlbrugge","name":"Marc Köhlbrugge","description":"🚧 https://t.co/aMZ4K3azU0 🏠 https://t.co/1KH3Ex4L2r 🤑 https://t.co/z2G662Uvhl 👀 https://t.co/LtA0MMRVNA 🚀 https://t.co/sxmNUGTYQv 📣 https://t.co/oPODwYE4Iq 💻 https://t.co/leziY51tRd 📸 https://t.co/NJnFBXCSCj #️⃣ https://t.co/6qUnpK7VH5","location":null,"website":"https://t.co/QVn818Sinw","avatar_url":"https://pbs.twimg.com/profile_images/1857124042433572864/iMivVaYP_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/641633/1781378883","followers_count":89305,"following_count":974,"posts_count":50145,"media_count":4896,"likes_count":37852,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2007-01-15T23:55:33.000Z","pinned_post_ids":null,"is_automated":null}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/community/members":{"get":{"operationId":"List X Community Members","tags":["X (Twitter) - Community"],"summary":"List community members","description":"List the members of a community. Paginate with `cursor` and `has_more`. An unknown community ID returns `data: null`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"1493446837214187523","description":"Numeric community ID from the community's x.com/i/communities URL."},"required":true,"description":"Numeric community ID from the community's x.com/i/communities URL.","name":"community_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XMembersPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"members":[{"id":"641633","handle":"marckohlbrugge","name":"Marc Köhlbrugge","description":"🚧 https://t.co/aMZ4K3azU0 🏠 https://t.co/1KH3Ex4L2r 🤑 https://t.co/z2G662Uvhl 👀 https://t.co/LtA0MMRVNA 🚀 https://t.co/sxmNUGTYQv 📣 https://t.co/oPODwYE4Iq 💻 https://t.co/leziY51tRd 📸 https://t.co/NJnFBXCSCj #️⃣ https://t.co/6qUnpK7VH5","location":null,"website":"https://t.co/QVn818Sinw","avatar_url":"https://pbs.twimg.com/profile_images/1857124042433572864/iMivVaYP_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/641633/1781378883","followers_count":89305,"following_count":974,"posts_count":50145,"media_count":4896,"likes_count":37852,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2007-01-15T23:55:33.000Z","pinned_post_ids":null,"is_automated":null},{"id":"206773396","handle":"fajarsiddiqFS","name":"Fajar Siddiq","description":"👨🏻‍💻🇸🇬🇲🇾 🌴🏕️🎒\n✨ Founder of @EuphoryaHQ\n💍 Husband of @ByNoorAsyikin","location":"Singapore / Malaysia","website":"https://t.co/DRXHU7Wtbx","avatar_url":"https://pbs.twimg.com/profile_images/2077152618909188098/CgCTfSD5_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/206773396/1784066879","followers_count":16677,"following_count":2032,"posts_count":52467,"media_count":5874,"likes_count":62960,"is_verified":false,"is_blue_verified":false,"verified_type":null,"protected":false,"created_at":"2010-10-23T17:49:21.000Z","pinned_post_ids":null,"is_automated":null}],"count":2,"cursor":"Q3ljUkFBQUFBQXdBQkF3S213ekJWUW8rdlFBQUFBQkViNUJUQ20wN0FBQUJmd2RyQS9nQURKb3JDajY5Zi8vLy8vLy8vLzhLYlR0","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":6,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/community/moderators":{"get":{"operationId":"List X Community Moderators","tags":["X (Twitter) - Community"],"summary":"List community moderators","description":"List the moderators of a community. Paginate with `cursor` and `has_more`. An unknown community ID returns `data: null`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"1493446837214187523","description":"Numeric community ID from the community's x.com/i/communities URL."},"required":true,"description":"Numeric community ID from the community's x.com/i/communities URL.","name":"community_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XModeratorsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"moderators":[{"id":"641633","handle":"marckohlbrugge","name":"Marc Köhlbrugge","description":"🚧 https://t.co/aMZ4K3azU0 🏠 https://t.co/1KH3Ex4L2r 🤑 https://t.co/z2G662Uvhl 👀 https://t.co/LtA0MMRVNA 🚀 https://t.co/sxmNUGTYQv 📣 https://t.co/oPODwYE4Iq 💻 https://t.co/leziY51tRd 📸 https://t.co/NJnFBXCSCj #️⃣ https://t.co/6qUnpK7VH5","location":null,"website":"https://t.co/QVn818Sinw","avatar_url":"https://pbs.twimg.com/profile_images/1857124042433572864/iMivVaYP_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/641633/1781378883","followers_count":89305,"following_count":974,"posts_count":50145,"media_count":4896,"likes_count":37852,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2007-01-15T23:55:33.000Z","pinned_post_ids":null,"is_automated":null},{"id":"2729705040","handle":"buildinpublic","name":"Build in Public","description":"Use hashtag #buildinpublic to share what you're working on. – Made by @marckohlbrugge. – Sponsored by https://t.co/vASwn0HF5o ⚡","location":null,"website":"https://t.co/yFEvPzT7HE","avatar_url":"https://pbs.twimg.com/profile_images/1416201794200477700/Kasb_zJv_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/2729705040/1792154727","followers_count":73368,"following_count":2,"posts_count":3837,"media_count":80,"likes_count":462,"is_verified":false,"is_blue_verified":true,"verified_type":null,"protected":false,"created_at":"2014-08-13T15:45:57.000Z","pinned_post_ids":null,"is_automated":null}],"count":2,"cursor":null,"has_more":false}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":6,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/community/posts":{"get":{"operationId":"List X Community Posts","tags":["X (Twitter) - Community"],"summary":"List community posts","description":"List posts in a community. A page can be empty while `has_more` is `true`, so keep paging with `cursor` until it is `false`. An unknown community ID returns `data: null`.","parameters":[{"schema":{"type":"string","pattern":"^\\d{1,25}$","example":"1493446837214187523","description":"Numeric community ID from the community's x.com/i/communities URL."},"required":true,"description":"Numeric community ID from the community's x.com/i/communities URL.","name":"community_id","in":"query"},{"schema":{"type":"string","maxLength":2000,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages."},"required":false,"description":"`cursor` from the previous response. Omit for the first page and send it unchanged for later pages.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XPostsPage"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"posts":[{"id":"2111088921358549288","url":"https://x.com/KareemEniola2/status/2111088921358549288","text":"Hi everyone! \nMy name is Eniola, a creative designer from Lagos, Nigeria.\n\nI specialize in:\nUI/UX &amp; Web Design\nGraphic Design\nPitch Deck Presentations\nEmail Design\n\nI’m currently open to freelance and full-time opportunities.\n\nCheck out this sport App I designed https://t.co/X0YYgb16T9","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T13:36:35.000Z","like_count":1,"reply_count":0,"repost_count":0,"quote_count":0,"view_count":3,"bookmark_count":0,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2111088921358549288","is_pinned":null,"author":{"id":"1157580212890230789","handle":"KareemEniola2","name":"ENIOLA || UI/UX || FRAMER || WEBFLOW || FIGMA","description":"Designer & Developer. I help startups, fintech, and B2B businesses scale from 0 to 100 by crafting visually appealing and high-converting websites and apps","location":"Lagos, Nigeria","website":"https://kareem-eniola-ui.vercel.app","avatar_url":"https://pbs.twimg.com/profile_images/1919202621111382016/vuzK5h7F_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/1157580212890230789/1716490341","followers_count":146,"following_count":789,"posts_count":2643,"media_count":309,"likes_count":26838,"is_verified":null,"is_blue_verified":null,"verified_type":null,"protected":null,"created_at":"2019-08-03T09:13:24.000Z","pinned_post_ids":["1891762670291780023"],"is_automated":null},"media":[{"id":"2111088908645609472","type":"photo","url":"https://pbs.twimg.com/media/HUwYLWkWsAAvfc0.jpg","alt_text":null,"width":4096,"height":2647,"duration_ms":null,"variants":null}],"hashtags":[],"mentions":[],"urls":[],"card":null,"article":null,"place":null,"quoted_post":null,"reposted_post":null},{"id":"2111088082346774732","url":"https://x.com/Robelcario/status/2111088082346774732","text":"Just finished the most beautiful site I’ve built so far: a skateboarding site with scroll-driven motion and video.  Next.js + Framer Motion. Taking on 2 new client projects this month. #webdesign #uiux #webdevelopment #creativewebsite #brandidentity #skateboarding #freelance https://t.co/3lTXqyS8IZ","lang":"en","source":"Twitter for iPhone","created_at":"2026-10-16T13:33:15.000Z","like_count":1,"reply_count":0,"repost_count":0,"quote_count":0,"view_count":9,"bookmark_count":0,"is_reply":false,"in_reply_to_post_id":null,"in_reply_to_user_id":null,"in_reply_to_handle":null,"conversation_id":"2111088082346774732","is_pinned":null,"author":{"id":"1628405254369714179","handle":"Robelcario","name":"Robel","description":"I build fast, modern websites for startups & creators\nTurning ideas into real products\nBuilding in public (space × tech)\nDM to work together","location":"Ethiopia","website":null,"avatar_url":"https://pbs.twimg.com/profile_images/2049385317250244609/YEJBklTB_normal.jpg","banner_url":"https://pbs.twimg.com/profile_banners/1628405254369714179/1750677662","followers_count":27,"following_count":470,"posts_count":102,"media_count":63,"likes_count":1337,"is_verified":null,"is_blue_verified":null,"verified_type":null,"protected":null,"created_at":"2023-02-22T14:44:25.000Z","pinned_post_ids":[],"is_automated":null},"media":[{"id":"2111087981033398272","type":"video","url":"https://pbs.twimg.com/amplify_video_thumb/2111087981033398272/img/nABwbig7a5pN3nG1.jpg","alt_text":null,"width":2880,"height":2160,"duration_ms":12376,"variants":[{"url":"https://video-s.twimg.com/amplify_video/2111087981033398272/pl/WyVIICdKkJ-jpVh9.m3u8?tag=14","content_type":"application/x-mpegURL","bitrate":null},{"url":"https://video-s.twimg.com/amplify_video/2111087981033398272/vid/avc1/360x270/d7Nz0EQqZLrjFIqL.mp4?tag=14","content_type":"video/mp4","bitrate":288000},{"url":"https://video-s.twimg.com/amplify_video/2111087981033398272/vid/avc1/480x360/T3rkmrC4U9pxx7q4.mp4?tag=14","content_type":"video/mp4","bitrate":832000},{"url":"https://video-s.twimg.com/amplify_video/2111087981033398272/vid/avc1/960x720/B9Br9X0Nlho2XzLF.mp4?tag=14","content_type":"video/mp4","bitrate":2176000}]}],"hashtags":["webdesign","uiux","webdevelopment","creativewebsite","brandidentity","skateboarding","freelance"],"mentions":[],"urls":[],"card":null,"article":null,"place":null,"quoted_post":null,"reposted_post":null}],"count":2,"cursor":"DAABCgABHUwcSXj__-kKAAIdTBVTmZcRywgAAwAAAAIAAA","has_more":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":5,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/space":{"get":{"operationId":"Get X Space","tags":["X (Twitter) - Space"],"summary":"Get Space","description":"Get an X Space's title, state, schedule, listener counts, creator, and participants. An unknown Space ID returns `data: null`.","parameters":[{"schema":{"type":"string","maxLength":300,"example":"1yKAPMPBXEzxb","description":"Space ID from its x.com/i/spaces URL. The full URL is accepted."},"required":true,"description":"Space ID from its x.com/i/spaces URL. The full URL is accepted.","name":"space_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XSpace"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/x/trends":{"get":{"operationId":"List X Trends","tags":["X (Twitter) - Trends"],"summary":"List trends","description":"List the ranked trending topics for a location by WOEID, each with a search query. `woeid` 1 is worldwide.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":2147483647,"default":1,"example":1,"description":"Where On Earth ID of the location. `1` is worldwide and `23424977` is the United States."},"required":false,"description":"Where On Earth ID of the location. `1` is worldwide and `23424977` is the United States.","name":"woeid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XTrends"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"woeid":1,"location":"Worldwide","updated_at":"2026-10-16T10:23:47.441Z","count":3,"trends":[{"rank":1,"name":"#それスノ","query":"#それスノ"},{"rank":2,"name":"#DIESELxJENO","query":"#DIESELxJENO"},{"rank":3,"name":"JENO WITH DIESEL","query":"\"JENO WITH DIESEL\""}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":7,"x-audience":"customer","x-status":"live","x-product":"x","x-toolzer-verified":false}},"/v1/reviews/authenticity":{"post":{"operationId":"Score Review Authenticity","tags":["Reviews"],"summary":"Score review authenticity","description":"Score up to 500 reviews for posting bursts, rating patterns, near-duplicate text, repeated phrases, and reviewer-account signals. Returns per-review evidence and an aggregate score from 0 to 100.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticityRequest"}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AuthenticityReport"},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"reviews","x-toolzer-verified":false}},"/v1/ad-library/search":{"get":{"operationId":"Search Ad Libraries","tags":["Ad Library"],"summary":"Search ads across ad libraries","description":"Searches the public Meta, Google, TikTok, and LinkedIn ad libraries in one call and returns ads in a shared shape. Requires `query`; `platforms` and `countries` narrow the search, and `limit` caps total ads. `sources[]` reports each library's result.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200,"example":"nike","description":"Brand, advertiser, or keyword. Every library supports advertiser-name search; Google resolves the name to an advertiser first, because its creative search cannot take free text."},"required":true,"description":"Brand, advertiser, or keyword. Every library supports advertiser-name search; Google resolves the name to an advertiser first, because its creative search cannot take free text.","name":"query","in":"query"},{"schema":{"type":"string","default":"meta,google,tiktok,linkedin","example":"meta,tiktok","description":"Comma-separated ad libraries to query. Defaults to all four. Narrow this to avoid paying for sources you don't need."},"required":false,"description":"Comma-separated ad libraries to query. Defaults to all four. Narrow this to avoid paying for sources you don't need.","name":"platforms","in":"query"},{"schema":{"type":"string","default":"US","example":"US,GB","description":"Comma-separated ISO 3166-1 alpha-2 codes. Meta, Google, and TikTok accept one country per query and use the first entry; LinkedIn accepts the full list. `UK` is corrected to `GB` and `EL` to `GR`, because those are the codes people write and neither is the ISO code the libraries answer to."},"required":false,"description":"Comma-separated ISO 3166-1 alpha-2 codes. Meta, Google, and TikTok accept one country per query and use the first entry; LinkedIn accepts the full list. `UK` is corrected to `GB` and `EL` to `GR`, because those are the codes people write and neither is the ISO code the libraries answer to.","name":"countries","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-05-01","description":"Earliest ad-activity date (YYYY-MM-DD). When omitted, TikTok falls back to the last 90 days because it requires a window."},"required":false,"description":"Earliest ad-activity date (YYYY-MM-DD). When omitted, TikTok falls back to the last 90 days because it requires a window.","name":"date_min","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-08-01","description":"Latest ad-activity date (YYYY-MM-DD). Defaults to today."},"required":false,"description":"Latest ad-activity date (YYYY-MM-DD). Defaults to today.","name":"date_max","in":"query"},{"schema":{"type":"string","enum":["all","active","inactive"],"default":"all","example":"all","description":"Delivery status. Only Meta filters on this; the other libraries ignore it and report whatever status they expose."},"required":false,"description":"Delivery status. Only Meta filters on this; the other libraries ignore it and report whatever status they expose.","name":"active_status","in":"query"},{"schema":{"type":"string","enum":["all","image","video"],"default":"all","example":"all","description":"Creative format filter. Applied by Meta and Google when searching; applied to the merged results afterward for TikTok and LinkedIn."},"required":false,"description":"Creative format filter. Applied by Meta and Google when searching; applied to the merged results afterward for TikTok and LinkedIn.","name":"media_type","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"default":40,"example":40,"description":"Maximum ads across every library combined. Results are interleaved round-robin so one library cannot crowd out the rest."},"required":false,"description":"Maximum ads across every library combined. Results are interleaved round-robin so one library cannot crowd out the rest.","name":"limit","in":"query"},{"schema":{"type":"string","default":true,"example":true,"description":"Include available advertiser, date, and copy details for LinkedIn ads. Disable for a faster, lower-cost response with fewer fields."},"required":false,"description":"Include available advertiser, date, and copy details for LinkedIn ads. Disable for a faster, lower-cost response with fewer fields.","name":"enrich_details","in":"query"},{"schema":{"type":"string","default":false,"example":false,"description":"Include each ad's original platform record in `source` when you need fields outside the shared response shape."},"required":false,"description":"Include each ad's original platform record in `source` when you need fields outside the shared response shape.","name":"include_source","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"integer","minimum":0},"ads":{"type":"array","items":{"type":"object","properties":{"platform":{"type":"string","enum":["meta","google","tiktok","linkedin"]},"ad_id":{"type":"string"},"ad_url":{"type":"string","nullable":true},"advertiser_name":{"type":"string","nullable":true},"advertiser_id":{"type":"string","nullable":true},"first_seen":{"type":"string","nullable":true},"last_seen":{"type":"string","nullable":true},"is_active":{"type":"boolean","nullable":true},"creative":{"type":"object","properties":{"format":{"type":"string","enum":["image","video","text","unknown"]},"title":{"type":"string","nullable":true},"body":{"type":"string","nullable":true},"landing_url":{"type":"string","nullable":true},"media_urls":{"type":"array","items":{"type":"string"}},"thumbnail_url":{"type":"string","nullable":true}},"required":["format","title","body","landing_url","media_urls","thumbnail_url"]},"metrics":{"type":"object","properties":{"impressions":{"type":"object","properties":{"min":{"type":"number","nullable":true,"description":"Lower bound, when the library reports one as a number."},"max":{"type":"number","nullable":true,"description":"Upper bound, when the library reports one as a number."},"text":{"type":"string","nullable":true,"description":"The library's own display string, when it reports this as prose instead of a number, such as \"10K-50K\". Absent values are null, never zero."}},"required":["min","max","text"],"description":"Impression count. Numeric bounds from Google; a display string from Meta and LinkedIn; a single count from TikTok."},"spend":{"type":"object","properties":{"min":{"type":"number","nullable":true,"description":"Lower bound, when the library reports one as a number."},"max":{"type":"number","nullable":true,"description":"Upper bound, when the library reports one as a number."},"text":{"type":"string","nullable":true,"description":"The library's own display string, when it reports this as prose instead of a number, such as \"10K-50K\". Absent values are null, never zero."}},"required":["min","max","text"],"description":"Amount spent. Numeric bounds from Meta; a display string from TikTok. Google and LinkedIn don't report spend, so this is null."},"audience":{"type":"object","properties":{"min":{"type":"number","nullable":true,"description":"Lower bound, when the library reports one as a number."},"max":{"type":"number","nullable":true,"description":"Upper bound, when the library reports one as a number."},"text":{"type":"string","nullable":true,"description":"The library's own display string, when it reports this as prose instead of a number, such as \"10K-50K\". Absent values are null, never zero."}},"required":["min","max","text"],"description":"Estimated reach. Numeric bounds from Meta; a display string from TikTok. Google and LinkedIn don't report this, so it is null."},"currency":{"type":"string","nullable":true,"description":"ISO currency code for `spend`, when reported (Meta only)."}},"required":["impressions","spend","audience","currency"]},"countries":{"type":"array","items":{"type":"string"}},"surfaces":{"type":"array","items":{"type":"string"}},"source":{"nullable":true}},"required":["platform","ad_id","ad_url","advertiser_name","advertiser_id","first_seen","last_seen","is_active","creative","metrics","countries","surfaces"]}},"sources":{"type":"array","items":{"type":"object","properties":{"platform":{"type":"string","enum":["meta","google","tiktok","linkedin"]},"status":{"type":"string","enum":["ok","failed"],"description":"Whether this library returned results for this request."},"count":{"type":"integer","minimum":0},"reason":{"type":"string","nullable":true,"description":"Error code when `status` is `failed`. Null when the library succeeded."},"pages":{"type":"integer","minimum":0,"description":"Pages fetched from this library, capped at 10 for Meta and 5 for Google, TikTok, and LinkedIn."},"enriched":{"type":"integer","minimum":0,"description":"LinkedIn ads with added detail. Counts successful lookups only."},"resolved_advertiser":{"type":"object","nullable":true,"properties":{"id":{"type":"string"},"name":{"type":"string","nullable":true}},"required":["id","name"],"description":"Google only. The advertiser its creative search resolved `query` to — check it before trusting attribution."}},"required":["platform","status","count","reason","pages","enriched","resolved_advertiser"]},"description":"Per-library outcome: status, cost, and what it contributed."}},"required":["count","ads","sources"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":4,"x-audience":"customer","x-status":"live","x-product":"ad-library","x-toolzer-verified":false}},"/v2/instagram/user/posts":{"get":{"operationId":"Get User Posts V2","tags":["Instagram - User"],"summary":"List Instagram user posts","description":"Returns recent posts from a public Instagram profile, identified by `username_or_id`. `count` sets the page size. Pass `max_id` from the previous response's `next_max_id` for the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nasa","description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object.","name":"username_or_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":12,"default":12,"example":12,"description":"Number of items per page, 1 to 12."},"required":false,"description":"Number of items per page, 1 to 12.","name":"count","in":"query"},{"schema":{"type":"string","example":"3897013862742489988_8011506095","description":"Pass the previous response's `next_max_id` value."},"required":false,"description":"Pass the previous response's `next_max_id` value.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"more_available":{"type":"boolean"},"next_max_id":{"type":"string","nullable":true},"num_results":{"type":"number"}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/user/reels":{"get":{"operationId":"Get User Reels V2","tags":["Instagram - User"],"summary":"List Instagram user reels","description":"Returns reels from a public Instagram profile, identified by `username_or_id`. Pass `max_id` from the previous response's `paging_info.max_id` for the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nasa","description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object.","name":"username_or_id","in":"query"},{"schema":{"type":"string","example":"QVFB...","description":"Pass the previous response's `paging_info.max_id` value."},"required":false,"description":"Pass the previous response's `paging_info.max_id` value.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{"media":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["media"],"additionalProperties":{"nullable":true}}},"paging_info":{"type":"object","properties":{"max_id":{"type":"string","nullable":true}},"additionalProperties":{"nullable":true}}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/user/followers":{"get":{"operationId":"Get User Followers V2","tags":["Instagram - User"],"summary":"List Instagram user followers","description":"Returns accounts that follow a public Instagram profile, identified by `username_or_id`, with the total in `count`. Pass `end_cursor` from the previous response's `page_info.end_cursor` for the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nasa","description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object.","name":"username_or_id","in":"query"},{"schema":{"type":"string","example":"QVFCNGVjNGNCaFk1RHJjV3R4cjh6NTZBQ3lSTlZJNkdSd0Rwb2JJSDlDMVY3MHo0cFFyLUR2bU1GSmJCLXh1ZE9MejlWMmVfbF9YUEtVak1BUkxjaFI1WA==","description":"Pass the previous response's `page_info.end_cursor` value."},"required":false,"description":"Pass the previous response's `page_info.end_cursor` value.","name":"end_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"users":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"description":"List of follower profiles."},"count":{"type":"number","description":"Total follower count."},"page_info":{"type":"object","properties":{"has_next_page":{"type":"boolean"},"end_cursor":{"type":"string","nullable":true,"description":"Pagination cursor. Pass as end_cursor to fetch next page."}},"additionalProperties":{"nullable":true}}},"required":["users"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/user/following":{"get":{"operationId":"Get User Following V2","tags":["Instagram - User"],"summary":"List accounts an Instagram user follows","description":"Returns accounts that a public Instagram profile follows, identified by `username_or_id`, with `total_followings`. Pass `max_id` from the previous response's `next_max_id` for the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nasa","description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object.","name":"username_or_id","in":"query"},{"schema":{"type":"string","example":"QVFDdjY4RWFnNV9ycjVHVlF6YWhiMzYtMEhmZE5vZ04zMWluTkt2bi1UQlNweXBJUmdELWhQczUycmROQWNLcTRnMGVsNFpYTFdGZXZleE5Xb3BsMXhYRg==","description":"Pass the previous response's `next_max_id` value."},"required":false,"description":"Pass the previous response's `next_max_id` value.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"users":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"description":"List of followed profiles."},"total_followings":{"type":"number","description":"Total following count."},"next_max_id":{"type":"string","nullable":true,"description":"Pagination cursor. Pass as max_id to fetch next page."},"has_more":{"type":"boolean","description":"Whether more results are available for pagination."},"skipped_max_ids":{"type":"array","items":{"type":"string"},"description":"Cursors Instagram would not return, which this page stepped over. Each skips up to 25 accounts; absent when nothing was skipped."}},"required":["users"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/user/stories":{"get":{"operationId":"Get User Stories V2","tags":["Instagram - User"],"summary":"List Instagram user stories","description":"Returns the stories currently live on a public Instagram profile, identified by `username_or_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"instagram","description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object.","name":"username_or_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"broadcast":{"nullable":true},"reel":{"nullable":true},"unviewable_authors_info":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/user/highlights":{"get":{"operationId":"Get User Highlights V2","tags":["Instagram - User"],"summary":"List Instagram user highlights","description":"Returns the highlight reels pinned to a public Instagram profile, identified by `username_or_id`, with each highlight's `id`, title and cover. Pass an `id` to the highlight stories route for its media.","parameters":[{"schema":{"type":"string","minLength":1,"example":"jissoacademy","description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object.","name":"username_or_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"tray":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"cover_media":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"user":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["id"],"additionalProperties":{"nullable":true}}}},"required":["tray"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/highlight/stories":{"get":{"operationId":"Get Highlight Details V2","tags":["Instagram - User"],"summary":"Get Instagram highlight stories","description":"Returns the media items in one Instagram highlight reel, with its title and `media_count`. `highlight_id` comes from the `id` of a user highlights result.","parameters":[{"schema":{"type":"string","minLength":1,"example":"18044055451177905","description":"Highlight `id` from a user highlights result, or a highlight share URL."},"required":true,"description":"Highlight `id` from a user highlights result, or a highlight share URL.","name":"highlight_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"id":{"type":"string"},"title":{"type":"string"},"media_count":{"type":"number"},"created_at":{"type":"number"},"user":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"items":{"type":"array","items":{"nullable":true}}},"required":["id"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/user/tagged-posts":{"get":{"operationId":"Get User Tagged Posts V2","tags":["Instagram - User"],"summary":"List Instagram tagged posts","description":"Returns posts that tag a public Instagram profile, identified by `username_or_id`, with `total_count`. Pass `max_id` from the previous response's `next_max_id` for the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nasa","description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object.","name":"username_or_id","in":"query"},{"schema":{"type":"string","example":"3948461847026941500","description":"Pass the previous response's `next_max_id` value."},"required":false,"description":"Pass the previous response's `next_max_id` value.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"more_available":{"type":"boolean"},"next_max_id":{"type":"string","nullable":true},"total_count":{"type":"number"}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/user/similar":{"get":{"operationId":"Get Similar Users V2","tags":["Instagram - User"],"summary":"List similar Instagram users","description":"Returns accounts that Instagram suggests as similar to a public profile, identified by `username_or_id`. The response is a single list in `users` and is not paginated.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nasa","description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. The numeric ID is the `pk` or `id` field of a profile object.","name":"username_or_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"users":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"description":"List of similar user profiles."}},"required":["users"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/media/info":{"get":{"operationId":"Get Media Info V2","tags":["Instagram - Post"],"summary":"Get Instagram post or reel details","description":"Returns the details of one public Instagram post or reel: owner, caption, `like_count`, `comment_count` and media. `code` takes a shortcode, a numeric media ID or the post URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.instagram.com/reel/DHVPQMjSD08/","description":"Shortcode from the post URL (`DDPp2UWzWEm` in `instagram.com/p/DDPp2UWzWEm/`), numeric media ID, or the full post or reel URL."},"required":true,"description":"Shortcode from the post URL (`DDPp2UWzWEm` in `instagram.com/p/DDPp2UWzWEm/`), numeric media ID, or the full post or reel URL.","name":"code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"code":{"type":"string"},"pk":{"anyOf":[{"type":"string"},{"type":"number"}]},"id":{"type":"string"},"taken_at":{"type":"number"},"user":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"caption":{"nullable":true},"like_count":{"type":"number"},"comment_count":{"type":"number"}},"required":["pk","id"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/media/info/web":{"get":{"operationId":"Get Media Info Web V2","tags":["Instagram - Post"],"summary":"Get Instagram media (retired)","description":"Retired: always returns 410 and is not charged. Use `/media/info` for media details and `/media/comments` for comments.","deprecated":true,"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"410":{"description":"Gone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error410"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/media/comments":{"get":{"operationId":"Get Media Comments V2","tags":["Instagram - Post"],"summary":"List Instagram post comments","description":"Returns comments on a public Instagram post or reel, identified by `code`. `sort_type` picks popular, recent or verified order. Pass `pagination_token` from the previous response for the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"DDPp2UWzWEm","description":"Shortcode from the post URL (`DDPp2UWzWEm` in `instagram.com/p/DDPp2UWzWEm/`), numeric media ID, or the full post or reel URL."},"required":true,"description":"Shortcode from the post URL (`DDPp2UWzWEm` in `instagram.com/p/DDPp2UWzWEm/`), numeric media ID, or the full post or reel URL.","name":"code","in":"query"},{"schema":{"type":"string","example":"eyJtaW5faWQiOns...","description":"Pass the previous response's `pagination_token` value."},"required":false,"description":"Pass the previous response's `pagination_token` value.","name":"pagination_token","in":"query"},{"schema":{"type":"string","enum":["popular","recent","verified"],"example":"popular","description":"Comment order: `popular`, `recent` or `verified`. Omit to use Instagram's default order."},"required":false,"description":"Comment order: `popular`, `recent` or `verified`. Omit to use Instagram's default order.","name":"sort_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"comment_count":{"type":"number"},"has_more_comments":{"type":"boolean"},"pagination_token":{"type":"string"}},"required":["comments"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/media/likes":{"get":{"operationId":"Get Media Likes V2","tags":["Instagram - Post"],"summary":"List Instagram post likes","description":"Returns accounts that liked a public Instagram post or reel, identified by `code`, with `user_count`. The route takes no pagination input.","parameters":[{"schema":{"type":"string","minLength":1,"example":"DDPp2UWzWEm","description":"Shortcode from the post URL (`DDPp2UWzWEm` in `instagram.com/p/DDPp2UWzWEm/`), numeric media ID, or the full post or reel URL."},"required":true,"description":"Shortcode from the post URL (`DDPp2UWzWEm` in `instagram.com/p/DDPp2UWzWEm/`), numeric media ID, or the full post or reel URL.","name":"code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"users":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"user_count":{"type":"number"}},"required":["users"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/hashtag/media":{"get":{"operationId":"Get Hashtag Media V2","tags":["Instagram - Hashtag"],"summary":"List Instagram hashtag media","description":"Returns media for a public Instagram `hashtag`, from the `recent` or `top` tab. Pass `max_id` from `next_max_id` for the next page, or `next_page` for the `top` tab.","parameters":[{"schema":{"type":"string","minLength":1,"example":"tokyo","description":"Hashtag to look up, without the # prefix."},"required":true,"description":"Hashtag to look up, without the # prefix.","name":"hashtag","in":"query"},{"schema":{"type":"string","enum":["recent","top"],"default":"recent","example":"recent","description":"Feed to read: `recent` for newest media, `top` for Instagram's ranked feed."},"required":false,"description":"Feed to read: `recent` for newest media, `top` for Instagram's ranked feed.","name":"tab","in":"query"},{"schema":{"type":"string","example":"QVFDbHBsLWN6Qy1aTk1BYThsN0R5NDJENzZVTlZocG5pbnEyNXU3RlZZSWMxeW1CclVVOXhGcmtVcURhUy0zZ0Jhc2pMN242OG5TMExEUjV6T2FiUFFBdA==","description":"Pass the previous response's `next_max_id` value."},"required":false,"description":"Pass the previous response's `next_max_id` value.","name":"max_id","in":"query"},{"schema":{"type":"string","example":"1","description":"Only used with the `top` tab. Pass the previous response's `next_page` value."},"required":false,"description":"Only used with the `top` tab. Pass the previous response's `next_page` value.","name":"next_page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"medias":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"more_available":{"type":"boolean"},"next_max_id":{"type":"string","nullable":true},"next_page":{"anyOf":[{"type":"string"},{"type":"number"},{"nullable":true}]}},"required":["medias"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/search/users":{"get":{"operationId":"Search Users V2","tags":["Instagram - Search"],"summary":"Search Instagram users by keyword","description":"Returns public Instagram accounts that match `keyword`, each with its rank in `position` and a `user` object.","parameters":[{"schema":{"type":"string","minLength":1,"example":"sooyaaa","description":"Text to search public accounts for."},"required":true,"description":"Text to search public accounts for.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","properties":{"position":{"type":"number"},"user":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["user"],"additionalProperties":{"nullable":true}}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/search/posts":{"get":{"operationId":"Get Posts By Keyword V2","tags":["Instagram - Search"],"summary":"Search Instagram posts by keyword","description":"Returns public Instagram posts that match `keyword`. Pass `pagination_token` from the previous response for the next page; `has_more` is `false` on the last page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"japan","description":"Search keyword. Include hashtags by prefixing them with #."},"required":true,"description":"Search keyword. Include hashtags by prefixing them with #.","name":"keyword","in":"query"},{"schema":{"type":"string","example":"eyJuZXh0X21heF9pZCI6...","description":"Pass the previous response's `pagination_token` value."},"required":false,"description":"Pass the previous response's `pagination_token` value.","name":"pagination_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"has_more":{"type":"boolean"},"pagination_token":{"type":"string"}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/instagram/search/reels":{"get":{"operationId":"Get Reels By Keyword V2","tags":["Instagram - Search"],"summary":"Search Instagram reels by keyword","description":"Returns public Instagram reels that match `keyword` in `reels_serp_modules`. Pass `reels_max_id` from the previous response for the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"japan","description":"Search keyword. Include hashtags by prefixing them with #."},"required":true,"description":"Search keyword. Include hashtags by prefixing them with #.","name":"keyword","in":"query"},{"schema":{"type":"string","example":"eyJyZWVsc19tYXhfaWQiOns...","description":"Pass the previous response's `reels_max_id` value."},"required":false,"description":"Pass the previous response's `reels_max_id` value.","name":"reels_max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"reels_serp_modules":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"has_more":{"type":"boolean"},"reels_max_id":{"type":"string"},"rank_token":{"type":"string"}},"required":["reels_serp_modules"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v2/reddit/home-feed":{"get":{"operationId":"Get Reddit Home Feed","tags":["Reddit - Feed"],"summary":"Get home feed","description":"Returns the default Reddit home feed. Optional `sort` and `filter_posts` control results; use `after` for pagination.","parameters":[{"schema":{"type":"string","enum":["HOT","NEW","TOP","BEST","CONTROVERSIAL"],"example":"BEST","description":"Sort order for the home feed."},"required":false,"description":"Sort order for the home feed.","name":"sort","in":"query"},{"schema":{"type":"string","description":"Optional comma-separated post IDs to filter out of the feed."},"required":false,"description":"Optional comma-separated post IDs to filter out of the feed.","name":"filter_posts","in":"query"},{"schema":{"type":"string","description":"Cursor from the previous response used to fetch the next page."},"required":false,"description":"Cursor from the previous response used to fetch the next page.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"postsInfoByIds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":{"nullable":true}}},"after":{"type":"string","nullable":true}},"required":["postsInfoByIds"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/popular-feed":{"get":{"operationId":"Get Reddit Popular Feed","tags":["Reddit - Feed"],"summary":"Get popular feed","description":"Deprecated: use `/v1/reddit/popular-posts` instead. Returns Reddit's popular feed. Optional `sort`, `time`, and `filter_posts` control results; use `after` for pagination.","deprecated":true,"parameters":[{"schema":{"type":"string","enum":["BEST","HOT","NEW","TOP","CONTROVERSIAL","RISING"],"example":"BEST","description":"Sort order for the feed."},"required":false,"description":"Sort order for the feed.","name":"sort","in":"query"},{"schema":{"type":"string","enum":["ALL","HOUR","DAY","WEEK","MONTH","YEAR"],"example":"ALL","description":"Time window for the feed."},"required":false,"description":"Time window for the feed.","name":"time","in":"query"},{"schema":{"type":"string","description":"Optional comma-separated post IDs to filter out of the feed."},"required":false,"description":"Optional comma-separated post IDs to filter out of the feed.","name":"filter_posts","in":"query"},{"schema":{"type":"string","description":"Cursor from the previous response used to fetch the next page."},"required":false,"description":"Cursor from the previous response used to fetch the next page.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"postsInfoByIds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":{"nullable":true}}},"after":{"type":"string","nullable":true}},"required":["postsInfoByIds"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/games-feed":{"get":{"operationId":"Get Reddit Games Feed","tags":["Reddit - Feed"],"summary":"Get gaming feed","description":"Returns Reddit's games feed. Optional `sort` and `time` control ordering; use `after` for pagination.","parameters":[{"schema":{"type":"string","enum":["NEW","HOT","TOP","RISING"],"example":"NEW","description":"Sort order for the games feed."},"required":false,"description":"Sort order for the games feed.","name":"sort","in":"query"},{"schema":{"type":"string","enum":["ALL","HOUR","DAY","WEEK","MONTH","YEAR"],"example":"ALL","description":"Time window for the feed."},"required":false,"description":"Time window for the feed.","name":"time","in":"query"},{"schema":{"type":"string","description":"Cursor from the previous response used to fetch the next page."},"required":false,"description":"Cursor from the previous response used to fetch the next page.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"elements":{"type":"object","properties":{"edges":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pageInfo":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"dist":{"type":"number","nullable":true}},"required":["edges"],"additionalProperties":{"nullable":true}}},"required":["elements"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/news-feed":{"get":{"operationId":"Get Reddit News Feed","tags":["Reddit - Feed"],"summary":"Get news feed","description":"Returns Reddit's news feed. Optionally filter by `subtopic_ids` and use `after` for pagination.","parameters":[{"schema":{"type":"string","description":"Comma-separated news subtopic IDs to filter the feed by."},"required":false,"description":"Comma-separated news subtopic IDs to filter the feed by.","name":"subtopic_ids","in":"query"},{"schema":{"type":"string","description":"Cursor from the previous response used to fetch the next page."},"required":false,"description":"Cursor from the previous response used to fetch the next page.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"elements":{"type":"object","properties":{"edges":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pageInfo":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"dist":{"type":"number","nullable":true}},"required":["edges"],"additionalProperties":{"nullable":true}}},"required":["elements"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/search":{"get":{"operationId":"Search Reddit","tags":["Reddit - Search"],"summary":"Search Reddit","description":"Deprecated: use `/v1/reddit/search` instead. Returns posts, subreddits, users, or comments matching required `keyword`. Optional fields choose result type, ordering, time range, content safety, and pagination.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"cats","description":"Keyword to search Reddit for."},"required":true,"description":"Keyword to search Reddit for.","name":"keyword","in":"query"},{"schema":{"type":"string","enum":["post","community","comment","media","people"],"example":"post","description":"Type of result to search for."},"required":false,"description":"Type of result to search for.","name":"search_type","in":"query"},{"schema":{"type":"string","enum":["RELEVANCE","HOT","TOP","NEW","COMMENTS"],"example":"RELEVANCE","description":"Sort order for search results (applies to post/comment/media search_type only)."},"required":false,"description":"Sort order for search results (applies to post/comment/media search_type only).","name":"sort","in":"query"},{"schema":{"type":"string","enum":["ALL","HOUR","DAY","WEEK","MONTH","YEAR"],"example":"ALL","description":"Time window to restrict search results to (applies to post/media search_type only)."},"required":false,"description":"Time window to restrict search results to (applies to post/media search_type only).","name":"time_range","in":"query"},{"schema":{"type":"string","enum":["unset","strict"],"example":"unset","description":"Safe search filtering level."},"required":false,"description":"Safe search filtering level.","name":"safe_search","in":"query"},{"schema":{"type":"string","enum":["0","1"],"example":"0","description":"Whether to include NSFW results (0 = no, 1 = yes)."},"required":false,"description":"Whether to include NSFW results (0 = no, 1 = yes).","name":"allow_nsfw","in":"query"},{"schema":{"type":"string","description":"Cursor from the previous response used to fetch the next page."},"required":false,"description":"Cursor from the previous response used to fetch the next page.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"components":{"type":"object","properties":{"__typename":{"type":"string"},"main":{"type":"object","properties":{"items":{"type":"array","items":{"nullable":true}},"pageInfo":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["items"]}},"required":["__typename","main"]}},"required":["components"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/post":{"get":{"operationId":"Get Reddit Post","tags":["Reddit - Post"],"summary":"Get post","description":"Deprecated: use `/v1/reddit/post-details` instead. Returns one post identified by required `post_id`. Optional comment fields select a specific included comment.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"t3_1uw2gep","description":"Reddit post id (`1uw2gep`), fullname (`t3_1uw2gep`) or permalink."},"required":true,"description":"Reddit post id (`1uw2gep`), fullname (`t3_1uw2gep`) or permalink.","name":"post_id","in":"query"},{"schema":{"type":"string","description":"Whether to include a specific comment ID's context in the post response."},"required":false,"description":"Whether to include a specific comment ID's context in the post response.","name":"include_comment_id","in":"query"},{"schema":{"type":"string","description":"Comment fullname to include context for."},"required":false,"description":"Comment fullname to include context for.","name":"comment_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":{"nullable":true}}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/posts/batch":{"get":{"operationId":"Get Reddit Posts Batch","tags":["Reddit - Post"],"summary":"Get posts in a batch","description":"Returns posts identified by required comma-separated `post_ids`. Optional comment fields select a specific included comment.","parameters":[{"schema":{"type":"string","minLength":1,"example":"t3_1uw2gep","description":"Comma-separated Reddit post ids, fullnames or permalinks."},"required":true,"description":"Comma-separated Reddit post ids, fullnames or permalinks.","name":"post_ids","in":"query"},{"schema":{"type":"string","description":"Whether to include a specific comment ID's context in the post response."},"required":false,"description":"Whether to include a specific comment ID's context in the post response.","name":"include_comment_id","in":"query"},{"schema":{"type":"string","description":"Comment fullname to include context for."},"required":false,"description":"Comment fullname to include context for.","name":"comment_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":{"nullable":true}}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":8,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/posts/batch-large":{"get":{"operationId":"Get Reddit Posts Batch Large","tags":["Reddit - Post"],"summary":"Get a large post batch","description":"Returns a large batch of posts identified by required comma-separated `post_ids`. Optional comment fields select a specific included comment.","parameters":[{"schema":{"type":"string","minLength":1,"example":"t3_1uw2gep","description":"Comma-separated Reddit post ids, fullnames or permalinks."},"required":true,"description":"Comma-separated Reddit post ids, fullnames or permalinks.","name":"post_ids","in":"query"},{"schema":{"type":"string","description":"Whether to include a specific comment ID's context in the post response."},"required":false,"description":"Whether to include a specific comment ID's context in the post response.","name":"include_comment_id","in":"query"},{"schema":{"type":"string","description":"Comment fullname to include context for."},"required":false,"description":"Comment fullname to include context for.","name":"comment_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":{"nullable":true}}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":38,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/post/comments":{"get":{"operationId":"Get Reddit Post Comments","tags":["Reddit - Post"],"summary":"List post comments","description":"Deprecated: use `/v1/reddit/post-comments` instead. Returns top-level comments for required `post_id`. Use `sort_type` for ordering and `after` for pagination.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"t3_1uw2gep","description":"Reddit post id (`1uw2gep`), fullname (`t3_1uw2gep`) or permalink."},"required":true,"description":"Reddit post id (`1uw2gep`), fullname (`t3_1uw2gep`) or permalink.","name":"post_id","in":"query"},{"schema":{"type":"string","enum":["CONFIDENCE","NEW","TOP","HOT","CONTROVERSIAL","OLD","RANDOM"],"example":"CONFIDENCE","description":"Comment sort order."},"required":false,"description":"Comment sort order.","name":"sort_type","in":"query"},{"schema":{"type":"string","description":"Cursor from the previous response used to fetch the next page."},"required":false,"description":"Cursor from the previous response used to fetch the next page.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"id":{"type":"string"},"commentCount":{"type":"number"},"commentForest":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["id"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/post/comments/replies":{"get":{"operationId":"Get Reddit Comment Replies","tags":["Reddit - Post"],"summary":"List comment replies","description":"Returns replies under a comment thread. Requires `post_id` and the reply `cursor`; `sort_type` is optional.","parameters":[{"schema":{"type":"string","minLength":1,"example":"t3_1uw2gep","description":"Reddit post id (`1uw2gep`), fullname (`t3_1uw2gep`) or permalink."},"required":true,"description":"Reddit post id (`1uw2gep`), fullname (`t3_1uw2gep`) or permalink.","name":"post_id","in":"query"},{"schema":{"type":"string","minLength":1,"example":"commenttree:6ae216b0,::0:ex:(lHBAm:$X:$]Z\"'u#D5","description":"Cursor from the post comments response used to fetch a comment's replies."},"required":true,"description":"Cursor from the post comments response used to fetch a comment's replies.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["CONFIDENCE","NEW","TOP","HOT","CONTROVERSIAL","OLD","RANDOM"],"example":"CONFIDENCE","description":"Comment sort order."},"required":false,"description":"Comment sort order.","name":"sort_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"id":{"type":"string"},"commentCount":{"type":"number"},"commentForest":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["id"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/subreddit/info":{"get":{"operationId":"Get Reddit Subreddit Info","tags":["Reddit - Subreddit"],"summary":"Get subreddit","description":"Deprecated: use `/v1/reddit/subreddit-info` instead. Returns public metadata for required `subreddit_name`.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"pics","description":"Subreddit name without the r/ prefix."},"required":true,"description":"Subreddit name without the r/ prefix.","name":"subreddit_name","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/subreddit/feed":{"get":{"operationId":"Get Reddit Subreddit Feed","tags":["Reddit - Subreddit"],"summary":"List subreddit posts","description":"Deprecated: use `/v1/reddit/subreddit-posts` instead. Returns posts from required `subreddit_name`. Optional `sort` and `filter_posts` control results; use `after` for pagination.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"pics","description":"Subreddit name without the r/ prefix."},"required":true,"description":"Subreddit name without the r/ prefix.","name":"subreddit_name","in":"query"},{"schema":{"type":"string","enum":["BEST","HOT","NEW","TOP","CONTROVERSIAL","RISING"],"example":"BEST","description":"Sort order for the feed."},"required":false,"description":"Sort order for the feed.","name":"sort","in":"query"},{"schema":{"type":"string","description":"Optional comma-separated post IDs to filter out of the feed."},"required":false,"description":"Optional comma-separated post IDs to filter out of the feed.","name":"filter_posts","in":"query"},{"schema":{"type":"string","description":"Cursor from the previous response used to fetch the next page."},"required":false,"description":"Cursor from the previous response used to fetch the next page.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"elements":{"type":"object","properties":{"edges":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pageInfo":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"dist":{"type":"number","nullable":true}},"required":["edges"],"additionalProperties":{"nullable":true}}},"required":["elements"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/subreddit/settings":{"get":{"operationId":"Get Reddit Subreddit Settings","tags":["Reddit - Subreddit"],"summary":"Get subreddit settings","description":"Returns settings for the subreddit identified by required `subreddit_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"t5_2qh0u","description":"Subreddit fullname (e.g. t5_xxxxx)."},"required":true,"description":"Subreddit fullname (e.g. t5_xxxxx).","name":"subreddit_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/subreddit/style":{"get":{"operationId":"Get Reddit Subreddit Style","tags":["Reddit - Subreddit"],"summary":"Get subreddit style","description":"Returns visual style and theme data for required `subreddit_name`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"pics","description":"Subreddit name without the r/ prefix."},"required":true,"description":"Subreddit name without the r/ prefix.","name":"subreddit_name","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/subreddit/post-channels":{"get":{"operationId":"Get Reddit Subreddit Post Channels","tags":["Reddit - Subreddit"],"summary":"List subreddit post channels","description":"Returns post channels and topics for required `subreddit_name`. Optional `sort` and `range` control results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"pics","description":"Subreddit name without the r/ prefix."},"required":true,"description":"Subreddit name without the r/ prefix.","name":"subreddit_name","in":"query"},{"schema":{"type":"string","enum":["HOT","NEW","TOP","CONTROVERSIAL","RISING"],"example":"HOT","description":"Sort order for the subreddit's post channels."},"required":false,"description":"Sort order for the subreddit's post channels.","name":"sort","in":"query"},{"schema":{"type":"string","enum":["HOUR","DAY","WEEK","MONTH","YEAR","ALL"],"example":"DAY","description":"Time range for the subreddit's post channels."},"required":false,"description":"Time range for the subreddit's post channels.","name":"range","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/subreddit/highlights":{"get":{"operationId":"Get Reddit Community Highlights","tags":["Reddit - Subreddit"],"summary":"List subreddit highlights","description":"Returns highlighted content for the subreddit identified by required `subreddit_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"t5_2qh0u","description":"Subreddit fullname (e.g. t5_xxxxx)."},"required":true,"description":"Subreddit fullname (e.g. t5_xxxxx).","name":"subreddit_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/subreddit/muted":{"get":{"operationId":"Is Reddit Subreddit Muted","tags":["Reddit - Subreddit"],"summary":"Check subreddit muted state","description":"Returns the muted-state value for the subreddit identified by required `subreddit_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"t5_2qh0u","description":"Subreddit fullname (e.g. t5_xxxxx)."},"required":true,"description":"Subreddit fullname (e.g. t5_xxxxx).","name":"subreddit_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"isMuted":{"type":"boolean"}},"required":["isMuted"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/search/typeahead":{"get":{"operationId":"Get Reddit Search Typeahead","tags":["Reddit - Search"],"summary":"Search suggestions","description":"Returns autocomplete suggestions for required `keyword`. Optional safety fields control mature-content results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"cats","description":"Partial keyword to get search suggestions for."},"required":true,"description":"Partial keyword to get search suggestions for.","name":"keyword","in":"query"},{"schema":{"type":"string","enum":["unset","strict"],"example":"unset","description":"Safe search filtering level."},"required":false,"description":"Safe search filtering level.","name":"safe_search","in":"query"},{"schema":{"type":"string","enum":["0","1"],"example":"0","description":"Whether to include NSFW results (0 = no, 1 = yes)."},"required":false,"description":"Whether to include NSFW results (0 = no, 1 = yes).","name":"allow_nsfw","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"components":{"type":"object","properties":{"__typename":{"type":"string"},"main":{"nullable":true}},"required":["__typename"]}},"required":["components"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/search/trending":{"get":{"operationId":"Get Reddit Trending Searches","tags":["Reddit - Search"],"summary":"List trending searches","description":"Returns Reddit's currently trending search queries. No query fields are required.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"trendingQueries":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"required":["trendingQueries"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/user/profile":{"get":{"operationId":"Get Reddit User Profile","tags":["Reddit - User"],"summary":"Get user profile","description":"Deprecated: use `/v1/reddit/user-profile` instead. Returns the public profile for required `username`.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"Turbulent_Nerve3744","description":"Reddit username without the u/ prefix."},"required":true,"description":"Reddit username without the u/ prefix.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/user/posts":{"get":{"operationId":"Get Reddit User Posts","tags":["Reddit - User"],"summary":"List user posts","description":"Deprecated: use `/v1/reddit/user-posts` instead. Returns posts submitted by required `username`. Use `sort` for ordering and `after` for pagination.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"Turbulent_Nerve3744","description":"Reddit username without the u/ prefix."},"required":true,"description":"Reddit username without the u/ prefix.","name":"username","in":"query"},{"schema":{"type":"string","enum":["NEW","TOP","HOT","CONTROVERSIAL"],"example":"NEW","description":"Sort order for the user's submissions."},"required":false,"description":"Sort order for the user's submissions.","name":"sort","in":"query"},{"schema":{"type":"string","description":"Cursor from the previous response used to fetch the next page."},"required":false,"description":"Cursor from the previous response used to fetch the next page.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"elements":{"type":"object","properties":{"edges":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pageInfo":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"dist":{"type":"number","nullable":true}},"required":["edges"],"additionalProperties":{"nullable":true}}},"required":["elements"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/user/comments":{"get":{"operationId":"Get Reddit User Comments","tags":["Reddit - User"],"summary":"List user comments","description":"Deprecated: use `/v1/reddit/user-comments` instead. Returns comments posted by required `username`. Use `sort`, `page_size`, and `after` to control pagination.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"Turbulent_Nerve3744","description":"Reddit username without the u/ prefix."},"required":true,"description":"Reddit username without the u/ prefix.","name":"username","in":"query"},{"schema":{"type":"string","enum":["NEW","TOP","HOT","CONTROVERSIAL"],"example":"NEW","description":"Sort order for the user's submissions."},"required":false,"description":"Sort order for the user's submissions.","name":"sort","in":"query"},{"schema":{"type":"integer","minimum":1,"description":"Number of comments to return per page."},"required":false,"description":"Number of comments to return per page.","name":"page_size","in":"query"},{"schema":{"type":"string","description":"Cursor from the previous response used to fetch the next page."},"required":false,"description":"Cursor from the previous response used to fetch the next page.","name":"after","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"comments":{"type":"object","properties":{"edges":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pageInfo":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"dist":{"type":"number","nullable":true}},"required":["edges"],"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/user/active-subreddits":{"get":{"operationId":"Get Reddit User Active Subreddits","tags":["Reddit - User"],"summary":"List user's active subreddits","description":"Returns subreddits where required `username` is most active.","parameters":[{"schema":{"type":"string","minLength":1,"example":"Turbulent_Nerve3744","description":"Reddit username without the u/ prefix."},"required":true,"description":"Reddit username without the u/ prefix.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"activeSubreddits":{"type":"array","nullable":true,"items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"required":["activeSubreddits"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/reddit/user/trophies":{"get":{"operationId":"Get Reddit User Trophies","tags":["Reddit - User"],"summary":"List user trophies","description":"Returns trophies earned by required `username`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"Turbulent_Nerve3744","description":"Reddit username without the u/ prefix."},"required":true,"description":"Reddit username without the u/ prefix.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"trophyCase":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"reddit","x-toolzer-verified":false}},"/v2/tiktok/app/search/hashtags":{"get":{"operationId":"Search TikTok Hashtags","tags":["TikTok - Hashtag"],"summary":"Search TikTok hashtags","description":"Returns public TikTok hashtags matching `keyword` in `challenge_list`. Page through results with `offset` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Text to match against hashtag names.","example":"cats"},"required":true,"description":"Text to match against hashtag names.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"challenge_list":{"type":"array","items":{"nullable":true}}},"required":["challenge_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/hashtag/videos":{"get":{"operationId":"Get TikTok Hashtag Videos","tags":["TikTok - Hashtag"],"summary":"List TikTok hashtag videos by ID","description":"Deprecated: use `/v1/tiktok/hashtag_videos` instead. Returns public videos under the hashtag with numeric `ch_id`. Page with `cursor` and `count`; `region` localizes results.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric hashtag (challenge) id, for example from `challenge_list` in a hashtag search result.","example":"5216"},"required":true,"description":"Numeric hashtag (challenge) id, for example from `challenge_list` in a hashtag search result.","name":"ch_id","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Two-letter country code, for example `US`, that localizes the results.","example":"US"},"required":false,"description":"Two-letter country code, for example `US`, that localizes the results.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/live/daily-rank":{"get":{"operationId":"Get TikTok Live Daily Rank","tags":["TikTok - Live"],"summary":"Get TikTok LIVE creator rankings","description":"Returns a TikTok LIVE ranking board. Every input is optional: `rank_type`, `region_type`, and `gap_interval` pick the board and time window, and `room_id` or `anchor_id` scope it to one room or host.","parameters":[{"schema":{"type":"string","example":"7002343660979666949","description":"Anchor (streamer) user ID, obtainable from the live room info endpoint. Changes which live room's rank data comes back."},"required":false,"description":"Anchor (streamer) user ID, obtainable from the live room info endpoint. Changes which live room's rank data comes back.","name":"anchor_id","in":"query"},{"schema":{"type":"string","example":"7291548821317207342","description":"Live room ID, obtainable from the live room info endpoint. Changes which live room's rank data comes back."},"required":false,"description":"Live room ID, obtainable from the live room info endpoint. Changes which live room's rank data comes back.","name":"room_id","in":"query"},{"schema":{"type":"string","example":"8","description":"Rank board type: 0 hourly, 1 weekly, 5 rookie star, 6 sale (e-commerce), 8 daily (default), 10/11 weekly/daily game rank, 12 hall of fame, 16 ranking league, 20-25 per-game ranks, among others that are not fully enumerated."},"required":false,"description":"Rank board type: 0 hourly, 1 weekly, 5 rookie star, 6 sale (e-commerce), 8 daily (default), 10/11 weekly/daily game rank, 12 hall of fame, 16 ranking league, 20-25 per-game ranks, among others that are not fully enumerated.","name":"rank_type","in":"query"},{"schema":{"type":"string","example":"1","description":"Region scope for the rank board. What each value maps to beyond the default (1) is not documented — leave unset to use it."},"required":false,"description":"Region scope for the rank board. What each value maps to beyond the default (1) is not documented — leave unset to use it.","name":"region_type","in":"query"},{"schema":{"type":"string","example":"0","description":"Time window for the rank board: 0 (default) for today's ranking, -1 for historical ranking records."},"required":false,"description":"Time window for the rank board: 0 (default) for today's ranking, -1 for historical ranking records.","name":"gap_interval","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/live/ranking":{"get":{"operationId":"Get TikTok Live Ranking List","tags":["TikTok - Live"],"summary":"Get TikTok LIVE gift rankings","description":"Returns the gifting ranking for one TikTok LIVE room. Requires the numeric `room_id` and the host's `anchor_id`, both available from the LIVE room info response.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric LIVE room id, from the LIVE room info or LIVE search response.","example":"7663121438836083486"},"required":true,"description":"Numeric LIVE room id, from the LIVE room info or LIVE search response.","name":"room_id","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Numeric user id of the LIVE host, from the LIVE room info response.","example":"6792642779068892165"},"required":true,"description":"Numeric user id of the LIVE host, from the LIVE room info response.","name":"anchor_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/live/room":{"get":{"operationId":"Get TikTok Live Room Info","tags":["TikTok - Live"],"summary":"Get TikTok LIVE room info","description":"Returns public metadata for one TikTok LIVE room, looked up by numeric `room_id`. The id comes from a LIVE search result or a user's LIVE detail.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric LIVE room id, from a LIVE search result or a user's LIVE detail.","example":"7663121438836083486"},"required":true,"description":"Numeric LIVE room id, from a LIVE search result or a user's LIVE detail.","name":"room_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/search/live":{"get":{"operationId":"Search TikTok Live","tags":["TikTok - Live"],"summary":"Search TikTok LIVE rooms","description":"Returns active TikTok LIVE rooms matching `keyword`. Use the returned `cursor` as `offset` for the next page while `has_more` is nonzero; `region` localizes results.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Search term matched against active LIVE rooms.","example":"music"},"required":true,"description":"Search term matched against active LIVE rooms.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Where the page starts. Page one is 0; later pages use the previous response's `cursor`.","example":"0"},"required":false,"description":"Where the page starts. Page one is 0; later pages use the previous response's `cursor`.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Two-letter country code, for example `US`, that localizes the results.","example":"US"},"required":false,"description":"Two-letter country code, for example `US`, that localizes the results.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"cursor":{"type":"number","nullable":true,"description":"Use as `offset` to request the next page when `has_more` is nonzero."},"has_more":{"type":"number","description":"Nonzero when another page is available."}},"required":["data","has_more"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/location/search":{"get":{"operationId":"Search TikTok Location","tags":["TikTok - Search"],"summary":"Search TikTok locations","description":"Returns TikTok places and location tags matching `keyword` in `poi_info`. Page with `offset` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Place name or text to match against locations, for example `paris`.","example":"paris"},"required":true,"description":"Place name or text to match against locations, for example `paris`.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"poi_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["poi_info"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/video/multi":{"post":{"operationId":"Get TikTok Multi Video","tags":["TikTok - Video"],"summary":"Get multiple TikTok videos by ID","description":"Returns details for several public TikTok videos in one call. The JSON body is a non-empty array of video (`aweme`) IDs, for example `[\"7662422992172911903\"]`.","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"minItems":1,"example":["7662422992172911903","7661681676719869214"]}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":38,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/music/chart":{"get":{"operationId":"Get TikTok Music Chart","tags":["TikTok - Music"],"summary":"Get TikTok music chart","description":"Returns a TikTok music chart in `music_list`. All inputs are optional: `scene` selects the chart, and `cursor` and `count` page through it.","parameters":[{"schema":{"type":"string","description":"Chart scene to return. Leave unset for the default chart."},"required":false,"description":"Chart scene to return. Leave unset for the default chart.","name":"scene","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"music_list":{"type":"array","items":{"nullable":true}}},"required":["music_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/music":{"get":{"operationId":"Get TikTok Music Detail","tags":["TikTok - Music"],"summary":"Get TikTok sound details","description":"Returns public details for one TikTok sound (music track), looked up by numeric `music_id`, in `music_info`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric sound id, from the `music` object on a video or a sound search result.","example":"7662422999005874974"},"required":true,"description":"Numeric sound id, from the `music` object on a video or a sound search result.","name":"music_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"music_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["music_info"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/search/music":{"get":{"operationId":"Search TikTok Music","tags":["TikTok - Music"],"summary":"Search TikTok sounds","description":"Returns TikTok sounds matching `keyword` in `music_info_list`. Narrow with `filter_by`, `sort_type`, and `region`; page with `offset` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Text to match against sound names.","example":"cats"},"required":true,"description":"Text to match against sound names.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Filter value for the sound search. Leave unset for no filter."},"required":false,"description":"Filter value for the sound search. Leave unset for no filter.","name":"filter_by","in":"query"},{"schema":{"type":"string","description":"Result ordering value. Leave unset for the default order."},"required":false,"description":"Result ordering value. Leave unset for the default order.","name":"sort_type","in":"query"},{"schema":{"type":"string","description":"Two-letter country code, for example `US`, that localizes the results.","example":"US"},"required":false,"description":"Two-letter country code, for example `US`, that localizes the results.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"music_info_list":{"type":"array","items":{"nullable":true}}},"required":["music_info_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/music/videos":{"get":{"operationId":"Get TikTok Music Videos","tags":["TikTok - Music"],"summary":"List TikTok videos by sound ID","description":"Deprecated: use `/v1/tiktok/music_videos` instead. Returns public videos that use the sound with numeric `music_id`. Page with `cursor` and `count`.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric sound id, from the `music` object on a video or a sound search result.","example":"7662422999005874974"},"required":true,"description":"Numeric sound id, from the `music` object on a video or a sound search result.","name":"music_id","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/video/by-share-url":{"get":{"operationId":"Get TikTok Video By Share URL","tags":["TikTok - Video"],"summary":"Get TikTok video by share URL","description":"Returns details of one public TikTok video, resolved from a `share_url` such as a `vm.tiktok.com` short link or a full video URL. Details are in `aweme_details`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Public TikTok share link, either a short link (`vm.tiktok.com`) or a full video URL.","example":"https://www.tiktok.com/@khaby.lame/video/7662422992172911903"},"required":true,"description":"Public TikTok share link, either a short link (`vm.tiktok.com`) or a full video URL.","name":"share_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_details":{"type":"array","items":{"nullable":true}}},"required":["aweme_details"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/video":{"get":{"operationId":"Get TikTok Video","tags":["TikTok - Video"],"summary":"Get TikTok video by ID","description":"Returns details for one public TikTok video, looked up by `aweme_id`, in `aweme_detail`. `region` localizes the response.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric video id, the last segment of a TikTok video URL.","example":"7662422992172911903"},"required":true,"description":"Numeric video id, the last segment of a TikTok video URL.","name":"aweme_id","in":"query"},{"schema":{"type":"string","description":"Two-letter country code, for example `US`, that localizes the results.","example":"US"},"required":false,"description":"Two-letter country code, for example `US`, that localizes the results.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_detail":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["aweme_detail"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/user/similar":{"get":{"operationId":"Get TikTok Similar Users","tags":["TikTok - User"],"summary":"List TikTok similar users","description":"Returns accounts TikTok suggests as similar to the user with `sec_uid`, in `users`. For the next page, send the `page_token` the response provides. A 404 means TikTok keeps no similar-user list for this account; it is final, so do not retry.","parameters":[{"schema":{"type":"string","minLength":1,"description":"User's `sec_uid`, from a profile or user search response.","example":"MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA"},"required":true,"description":"User's `sec_uid`, from a profile or user search response.","name":"sec_uid","in":"query"},{"schema":{"type":"string","description":"Omit for page one. For later pages, send the page token returned by the previous response."},"required":false,"description":"Omit for page one. For later pages, send the page token returned by the previous response.","name":"page_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"users":{"type":"array","items":{"nullable":true}}},"required":["users"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/user/country":{"get":{"operationId":"Get TikTok User Country","tags":["TikTok - User"],"summary":"Get TikTok user country","description":"Returns the registered country of a TikTok account, looked up by `username` (the handle without `@`). The response includes `country` and the account's `user_id`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"TikTok handle without the leading `@`, for example `khaby.lame`.","example":"khaby.lame"},"required":true,"description":"TikTok handle without the leading `@`, for example `khaby.lame`.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"country":{"type":"string"},"user_id":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/user/followers":{"get":{"operationId":"Get TikTok User Followers","tags":["TikTok - User"],"summary":"List TikTok user followers","description":"Returns followers of a TikTok user, identified by `user_id` or `sec_user_id`. Maximum 20 per page; continue with the response's `min_time` and `next_page_token`.","parameters":[{"schema":{"type":"string","description":"Numeric user id. Send this or `sec_user_id`; get either from the username resolve endpoint.","example":"127905465618821121"},"required":false,"description":"Numeric user id. Send this or `sec_user_id`; get either from the username resolve endpoint.","name":"user_id","in":"query"},{"schema":{"type":"string","description":"User's `sec_user_id`. Send this or `user_id`; get either from the username resolve endpoint.","example":"MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA"},"required":false,"description":"User's `sec_user_id`. Send this or `user_id`; get either from the username resolve endpoint.","name":"sec_user_id","in":"query"},{"schema":{"type":"string","description":"Followers per page. Use the same value on later pages; maximum 20.","example":"12"},"required":false,"description":"Followers per page. Use the same value on later pages; maximum 20.","name":"count","in":"query"},{"schema":{"type":"string","description":"Page one is `0`. For later pages, reuse the previous response's `min_time` and send its `next_page_token` as `page_token`."},"required":false,"description":"Page one is `0`. For later pages, reuse the previous response's `min_time` and send its `next_page_token` as `page_token`.","name":"min_time","in":"query"},{"schema":{"type":"string","description":"Omit for page one. For later pages, send the previous response's `next_page_token` with its `min_time`."},"required":false,"description":"Omit for page one. For later pages, send the previous response's `next_page_token` with its `min_time`.","name":"page_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"followers":{"type":"array","items":{"nullable":true}},"has_more":{"type":"boolean"},"min_time":{"type":"number","description":"For the next page, send this value as `min_time` and `next_page_token` as `page_token`."},"next_page_token":{"type":"string"},"status_code":{"type":"number"},"status_msg":{"type":"string"},"total":{"type":"number"}},"required":["followers","has_more","min_time","next_page_token","status_code","status_msg","total"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/user/following":{"get":{"operationId":"Get TikTok User Following","tags":["TikTok - User"],"summary":"List TikTok user following","description":"Returns accounts a TikTok user follows, identified by `user_id` or `sec_user_id`. Maximum 20 per page; continue with the response's `min_time` and `next_page_token`.","parameters":[{"schema":{"type":"string","description":"Numeric user id. Send this or `sec_user_id`; get either from the username resolve endpoint.","example":"127905465618821121"},"required":false,"description":"Numeric user id. Send this or `sec_user_id`; get either from the username resolve endpoint.","name":"user_id","in":"query"},{"schema":{"type":"string","description":"User's `sec_user_id`. Send this or `user_id`; get either from the username resolve endpoint.","example":"MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA"},"required":false,"description":"User's `sec_user_id`. Send this or `user_id`; get either from the username resolve endpoint.","name":"sec_user_id","in":"query"},{"schema":{"type":"string","description":"Accounts per page. Use the same value on later pages; maximum 20.","example":"12"},"required":false,"description":"Accounts per page. Use the same value on later pages; maximum 20.","name":"count","in":"query"},{"schema":{"type":"string","description":"Page one is `0`. For later pages, reuse the previous response's `min_time` and send its `next_page_token` as `page_token`."},"required":false,"description":"Page one is `0`. For later pages, reuse the previous response's `min_time` and send its `next_page_token` as `page_token`.","name":"min_time","in":"query"},{"schema":{"type":"string","description":"Omit for page one. For later pages, send the previous response's `next_page_token` with its `min_time`."},"required":false,"description":"Omit for page one. For later pages, send the previous response's `next_page_token` with its `min_time`.","name":"page_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"followings":{"type":"array","items":{"nullable":true}},"has_more":{"type":"boolean"},"min_time":{"type":"number","description":"For the next page, send this value as `min_time` and `next_page_token` as `page_token`."},"next_page_token":{"type":"string"},"status_code":{"type":"number"},"status_msg":{"type":"string"},"total":{"type":"number"}},"required":["followings","has_more","min_time","next_page_token","status_code","status_msg","total"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/user/music":{"get":{"operationId":"Get TikTok User Music","tags":["TikTok - User"],"summary":"List TikTok sounds by user","description":"Returns sounds created by the TikTok user with `sec_uid`, in `music`. `music` can be null for accounts with none. Page with `cursor` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"User's `sec_uid`, from a profile or user search response.","example":"MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA"},"required":true,"description":"User's `sec_uid`, from a profile or user search response.","name":"sec_uid","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"music":{"type":"array","nullable":true,"items":{"nullable":true}}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/user/posts":{"get":{"operationId":"Get TikTok User Posts","tags":["TikTok - User"],"summary":"List TikTok user videos","description":"Returns public videos posted by a TikTok user. Identify the user with `sec_user_id` or `unique_id`; order with `sort_type`, page with `max_cursor` and `count`.","parameters":[{"schema":{"type":"string","description":"User's `sec_user_id`. Send this or `unique_id`; get it from the username resolve endpoint.","example":"MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA"},"required":false,"description":"User's `sec_user_id`. Send this or `unique_id`; get it from the username resolve endpoint.","name":"sec_user_id","in":"query"},{"schema":{"type":"string","description":"TikTok handle without the leading `@`. Send this or `sec_user_id`.","example":"khaby.lame"},"required":false,"description":"TikTok handle without the leading `@`. Send this or `sec_user_id`.","name":"unique_id","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `max_cursor`.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `max_cursor`.","name":"max_cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Ordering of the user's videos. Leave unset for the default order."},"required":false,"description":"Ordering of the user's videos. Leave unset for the default order.","name":"sort_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/user/reposts":{"get":{"operationId":"Get TikTok User Reposts","tags":["TikTok - User"],"summary":"List TikTok user reposts (app)","description":"Returns videos a TikTok user reposted, looked up by numeric `user_id`, in `aweme_list`. Page with `offset` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric user id, from the username resolve endpoint.","example":"127905465618821121"},"required":true,"description":"Numeric user id, from the username resolve endpoint.","name":"user_id","in":"query"},{"schema":{"type":"string","description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/search/users":{"get":{"operationId":"Search TikTok Users","tags":["TikTok - User"],"summary":"Search TikTok users","description":"Returns TikTok accounts matching `keyword` in `user_list`. Optional `user_search_*` filters narrow the match; page with `offset` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Search term matched against user accounts.","example":"khaby"},"required":true,"description":"Search term matched against user accounts.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Optional filter on the follower count of matched users. Leave unset for no filter."},"required":false,"description":"Optional filter on the follower count of matched users. Leave unset for no filter.","name":"user_search_follower_count","in":"query"},{"schema":{"type":"string","description":"Optional filter on the profile type of matched users. Leave unset for no filter."},"required":false,"description":"Optional filter on the profile type of matched users. Leave unset for no filter.","name":"user_search_profile_type","in":"query"},{"schema":{"type":"string","description":"Optional extra preference filter for the user search. Leave unset for no filter."},"required":false,"description":"Optional extra preference filter for the user search. Leave unset for no filter.","name":"user_search_other_pref","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"user_list":{"type":"array","items":{"nullable":true}}},"required":["user_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/video/comments/replies":{"get":{"operationId":"Get TikTok Video Comment Replies","tags":["TikTok - Video"],"summary":"List TikTok comment replies","description":"Returns replies to one TikTok comment in `comments`. Requires the video's `item_id` and the parent `comment_id`. Page with `cursor` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric id of the video the comment belongs to.","example":"7662422992172911903"},"required":true,"description":"Numeric id of the video the comment belongs to.","name":"item_id","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Numeric id of the parent comment, from the `cid` of a top-level comment in the video comments response.","example":"7662423877628674824"},"required":true,"description":"Numeric id of the parent comment, from the `cid` of a top-level comment in the video comments response.","name":"comment_id","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","items":{"nullable":true}}},"required":["comments"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/video/comments":{"get":{"operationId":"Get TikTok Video Comments","tags":["TikTok - Video"],"summary":"Get TikTok video comments","description":"Returns top-level comments on one public TikTok video in `comments`, looked up by `aweme_id`. Page with `cursor` and `count`; use the comment replies endpoint for replies.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric video id, the last segment of a TikTok video URL.","example":"7662422992172911903"},"required":true,"description":"Numeric video id, the last segment of a TikTok video URL.","name":"aweme_id","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","items":{"nullable":true}}},"required":["comments"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/search/videos":{"get":{"operationId":"Search TikTok Videos","tags":["TikTok - Video"],"summary":"Search TikTok videos by keyword","description":"Returns public TikTok videos matching `keyword`. Order with `sort_type`, filter by `publish_time` and `region`; continue with the response `cursor` as `offset` while `has_more` is nonzero.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Search term matched against public videos.","example":"cats"},"required":true,"description":"Search term matched against public videos.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Result ordering value. Leave unset for the default order."},"required":false,"description":"Result ordering value. Leave unset for the default order.","name":"sort_type","in":"query"},{"schema":{"type":"string","description":"Filter by publication time. Leave unset for no time filter."},"required":false,"description":"Filter by publication time. Leave unset for no time filter.","name":"publish_time","in":"query"},{"schema":{"type":"string","description":"Two-letter country code, for example `US`, that localizes the results.","example":"US"},"required":false,"description":"Two-letter country code, for example `US`, that localizes the results.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","items":{"nullable":true}},"search_item_list":{"type":"array","items":{"nullable":true}},"cursor":{"type":"number"},"has_more":{"type":"number"},"status_code":{"type":"number"}},"required":["aweme_list","search_item_list","cursor","has_more","status_code"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/user/resolve":{"get":{"operationId":"Resolve TikTok User Ids","tags":["TikTok - User"],"summary":"Resolve TikTok username to IDs","description":"Returns the numeric `user_id` and the `sec_user_id` for a TikTok `username` (handle without `@`). Other user endpoints take one of these IDs.","parameters":[{"schema":{"type":"string","minLength":1,"description":"TikTok handle without the leading `@`, for example `khaby.lame`.","example":"khaby.lame"},"required":true,"description":"TikTok handle without the leading `@`, for example `khaby.lame`.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"sec_user_id":{"type":"string"},"user_id":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["sec_user_id","user_id"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/user/followers/search":{"get":{"operationId":"Search TikTok User Followers","tags":["TikTok - User"],"summary":"Search a TikTok user's followers","description":"Returns followers of the account with numeric `user_id` whose names match `keyword`, in `results`. Get `user_id` from the username resolve endpoint.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric user id, from the username resolve endpoint.","example":"127905465618821121"},"required":true,"description":"Numeric user id, from the username resolve endpoint.","name":"user_id","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Text to match within this user's followers.","example":"a"},"required":true,"description":"Text to match within this user's followers.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"results":{"type":"array","items":{"nullable":true}}},"required":["results"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/user/following/search":{"get":{"operationId":"Search TikTok User Following","tags":["TikTok - User"],"summary":"Search a TikTok user's following","description":"Returns accounts followed by the user with numeric `user_id` whose names match `keyword`, in `results`. Get `user_id` from the username resolve endpoint.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric user id, from the username resolve endpoint.","example":"127905465618821121"},"required":true,"description":"Numeric user id, from the username resolve endpoint.","name":"user_id","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Text to match within the accounts this user follows.","example":"a"},"required":true,"description":"Text to match within the accounts this user follows.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"results":{"type":"array","items":{"nullable":true}}},"required":["results"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/live/alive/batch":{"get":{"operationId":"Batch Check TikTok Live Alive","tags":["TikTok - Live"],"summary":"Check TikTok LIVE status in bulk","description":"Returns the current LIVE status of several rooms at once, in `results`. Pass the numeric room IDs as a comma-separated `room_ids` string.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Comma-separated numeric LIVE room ids, for example `7663121438836083486,7663121438836083487`.","example":"7663121438836083486"},"required":true,"description":"Comma-separated numeric LIVE room ids, for example `7663121438836083486,7663121438836083487`.","name":"room_ids","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"results":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["results"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":75,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/live/alive":{"get":{"operationId":"Check TikTok Live Alive","tags":["TikTok - Live"],"summary":"Check TikTok LIVE room status","description":"Returns whether one TikTok LIVE room is currently live, in `live_room_status`, for the numeric `room_id`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric LIVE room id, from a LIVE search result or a user's LIVE detail.","example":"7663121438836083486"},"required":true,"description":"Numeric LIVE room id, from a LIVE search result or a user's LIVE detail.","name":"room_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"live_room_status":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["live_room_status"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/explore":{"get":{"operationId":"Get TikTok Explore Posts","tags":["TikTok - Video"],"summary":"Get TikTok explore feed","description":"Returns posts from TikTok's public explore feed in `itemList`. `category_type` selects a category; `count` sets how many posts to request.","parameters":[{"schema":{"type":"string","description":"Explore category to return. Leave unset for the default feed."},"required":false,"description":"Explore category to return. Leave unset for the default feed.","name":"category_type","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"itemList":{"type":"array","items":{"nullable":true}}},"required":["itemList"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/search/general":{"get":{"operationId":"Search TikTok General Web","tags":["TikTok - Search"],"summary":"Search TikTok content (web)","description":"Returns mixed public TikTok search results for `keyword`. For the next page, send the response's `cursor` as `offset` and its `search_id` as `search_id` while `has_more` is nonzero.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Search term for mixed content results.","example":"cats"},"required":true,"description":"Search term for mixed content results.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Where the page starts. Page one is 0; later pages use the previous response's `cursor` with `search_id`.","example":"0"},"required":false,"description":"Where the page starts. Page one is 0; later pages use the previous response's `cursor` with `search_id`.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Omit for page one. For later pages, send the previous response's `search_id` with its `cursor`."},"required":false,"description":"Omit for page one. For later pages, send the previous response's `search_id` with its `cursor`.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true},"status_code":{"type":"number"},"cursor":{"type":"number","nullable":true,"description":"Use as `offset` to request the next page when `has_more` is nonzero."},"has_more":{"type":"number"},"search_id":{"type":"string","description":"For the next page, send as `search_id` and send the returned `cursor` as `offset`."},"tt_chain_token":{"type":"string","description":"Token required by some returned direct video links."}},"required":["status_code","has_more"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/gift/names":{"post":{"operationId":"Get TikTok Gift Names","tags":["TikTok - Live"],"summary":"Get TikTok gift names by ID","description":"Returns the display names of TikTok LIVE gifts for the `gift_ids` array in the JSON body. Maximum 1000 IDs per request; 50 per call is recommended.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"gift_ids":{"type":"array","items":{"type":"string"},"example":["10001","10002"],"description":"List of gift IDs to resolve (max 1000, 50 recommended per call)."}},"required":["gift_ids"]}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"results":{"type":"array","items":{"nullable":true}}},"required":["results"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":38,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/live/gifts":{"get":{"operationId":"Get TikTok Live Gift List","tags":["TikTok - Live"],"summary":"List TikTok LIVE gifts","description":"Returns the TikTok LIVE gift catalog in `data`. Pass `room_id` to get the gifts for one room; without it the general catalog is returned.","parameters":[{"schema":{"type":"string","description":"Optional numeric LIVE room id. Set it to get the gifts for that room; omit it for the general catalog.","example":"7663121438836083486"},"required":false,"description":"Optional numeric LIVE room id. Set it to get the gifts for that room; omit it for the general catalog.","name":"room_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":38,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/live/im":{"get":{"operationId":"Get TikTok Live Im Fetch","tags":["TikTok - Live"],"summary":"List TikTok LIVE chat messages","description":"Returns chat messages from one TikTok LIVE room, looked up by numeric `room_id`. `user_unique_id` and `resp_content_type` adjust the request. The result can be empty when the room is not live.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric LIVE room id, from a LIVE search result or a user's LIVE detail.","example":"7663121438836083486"},"required":true,"description":"Numeric LIVE room id, from a LIVE search result or a user's LIVE detail.","name":"room_id","in":"query"},{"schema":{"type":"string","description":"Optional viewer identifier sent with the chat request. Leave unset unless you need to reuse one."},"required":false,"description":"Optional viewer identifier sent with the chat request. Leave unset unless you need to reuse one.","name":"user_unique_id","in":"query"},{"schema":{"type":"string","description":"Optional response content type for the chat messages. Leave unset for the default."},"required":false,"description":"Optional response content type for the chat messages. Leave unset for the default.","name":"resp_content_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/live/recommend":{"get":{"operationId":"Get TikTok Live Recommend","tags":["TikTok - Live"],"summary":"List recommended TikTok LIVE rooms","description":"Returns TikTok LIVE rooms recommended for a topic, given as `related_live_tag` (for example `music`). Category names come from the LIVE recommendation categories endpoint.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Topic to get recommended LIVE rooms for, for example `music`. Category names come from the LIVE recommendation categories endpoint.","example":"music"},"required":true,"description":"Topic to get recommended LIVE rooms for, for example `music`. Category names come from the LIVE recommendation categories endpoint.","name":"related_live_tag","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/live/recommend/tabs":{"get":{"operationId":"Get TikTok Live Recommend Tabs","tags":["TikTok - Live"],"summary":"List TikTok LIVE categories","description":"Returns the LIVE recommendation categories in `data`. When `has_more` is true, send the response's `logid` as `logid` for the next page.","parameters":[{"schema":{"type":"string","description":"Omit for page one. For later pages, send the previous response's `logid`."},"required":false,"description":"Omit for page one. For later pages, send the previous response's `logid`.","name":"logid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"has_more":{"type":"boolean","description":"Whether another page of categories is available."},"logid":{"type":"string","nullable":true,"description":"Send as `logid` to request the next page."}},"required":["data","has_more"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/post/comments":{"get":{"operationId":"Get TikTok Post Comments","tags":["TikTok - Video"],"summary":"List TikTok post comments (web)","description":"Returns comments on one public TikTok post in `comments`, looked up by `aweme_id`. `current_region` localizes the request; page with `cursor` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric video id, the last segment of a TikTok video URL.","example":"7662422992172911903"},"required":true,"description":"Numeric video id, the last segment of a TikTok video URL.","name":"aweme_id","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Two-letter country code, for example `US`, that localizes the comments request.","example":"US"},"required":false,"description":"Two-letter country code, for example `US`, that localizes the comments request.","name":"current_region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","items":{"nullable":true}}},"required":["comments"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/post":{"get":{"operationId":"Get TikTok Post Detail","tags":["TikTok - Video"],"summary":"Get TikTok post by ID (deprecated)","description":"Returns one public TikTok post, looked up by `item_id`, in `itemInfo`. `region` localizes the response. Deprecated: use `/v2/tiktok/app/video` for the same post.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric video id, the last segment of a TikTok video URL.","example":"7662422992172911903"},"required":true,"description":"Numeric video id, the last segment of a TikTok video URL.","name":"item_id","in":"query"},{"schema":{"type":"string","description":"Two-letter country code, for example `US`, that localizes the results.","example":"US"},"required":false,"description":"Two-letter country code, for example `US`, that localizes the results.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"itemInfo":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["itemInfo"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/search/keyword-suggest":{"get":{"operationId":"Get TikTok Search Keyword Suggest","tags":["TikTok - Search"],"summary":"Get TikTok search suggestions","description":"Returns TikTok search autocomplete suggestions for the partial text in `keyword`. The result is empty when TikTok has no suggestions for it.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Partial search text to autocomplete, for example `cat`.","example":"cat"},"required":true,"description":"Partial search text to autocomplete, for example `cat`.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/search/live":{"get":{"operationId":"Search TikTok Live Web","tags":["TikTok - Live"],"summary":"Search TikTok LIVE rooms (web)","description":"Returns active TikTok LIVE rooms matching `keyword`. For the next page, send the response's `cursor` as `offset` and its `search_id` as `search_id` while `has_more` is nonzero.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Search term matched against active LIVE rooms.","example":"music"},"required":true,"description":"Search term matched against active LIVE rooms.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Where the page starts. Page one is 0; later pages use the previous response's `cursor` with `search_id`.","example":"0"},"required":false,"description":"Where the page starts. Page one is 0; later pages use the previous response's `cursor` with `search_id`.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Omit for page one. For later pages, send the previous response's `search_id` with its `cursor`."},"required":false,"description":"Omit for page one. For later pages, send the previous response's `search_id` with its `cursor`.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"cursor":{"type":"number","nullable":true,"description":"Use with `search_id` to request the next page when `has_more` is nonzero."},"has_more":{"type":"number","description":"Nonzero when another page is available."},"search_id":{"type":"string","description":"For the next page, send as `search_id` and send the returned `cursor` as `offset`."},"tt_chain_token":{"type":"string","description":"Token required by some returned direct video links."}},"required":["data","has_more"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/search/photos":{"get":{"operationId":"Search TikTok Photos","tags":["TikTok - Video"],"summary":"Search TikTok photo posts","description":"Returns public TikTok photo posts matching `keyword` in `item_list`. For later pages, send the `offset` and `search_id` from the previous response; `count` sets the page size.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Search term matched against public photo posts.","example":"cats"},"required":true,"description":"Search term matched against public photo posts.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Omit for page one. For later pages, send the previous response's `search_id` with its `offset`."},"required":false,"description":"Omit for page one. For later pages, send the previous response's `search_id` with its `offset`.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"item_list":{"type":"array","items":{"nullable":true}}},"required":["item_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/search/users":{"get":{"operationId":"Search TikTok Users Web","tags":["TikTok - User"],"summary":"Search TikTok users (web)","description":"Returns TikTok accounts matching `keyword` in `user_list`. For later pages, send the previous response's `cursor` and `search_id`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Search term matched against user accounts.","example":"khaby"},"required":true,"description":"Search term matched against user accounts.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Omit for page one. For later pages, send the previous response's `search_id` with its `cursor`."},"required":false,"description":"Omit for page one. For later pages, send the previous response's `search_id` with its `cursor`.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"user_list":{"type":"array","items":{"nullable":true}}},"required":["user_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/hashtag":{"get":{"operationId":"Get TikTok Tag Detail","tags":["TikTok - Hashtag"],"summary":"Get TikTok hashtag by name","description":"Deprecated: use `/v1/tiktok/hashtag` instead. Returns public details of one TikTok hashtag, looked up by `tag_name` (without `#`), in `challengeInfo`. It includes the challenge id used by the hashtag videos endpoint.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"description":"Hashtag text without the leading `#`, for example `cats`.","example":"cats"},"required":true,"description":"Hashtag text without the leading `#`, for example `cats`.","name":"tag_name","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"challengeInfo":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["challengeInfo"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/hashtag/videos":{"get":{"operationId":"Get TikTok Tag Posts","tags":["TikTok - Hashtag"],"summary":"List TikTok hashtag videos by name","description":"Deprecated: use `/v1/tiktok/hashtag_videos` instead. Returns public videos under a hashtag, in `itemList`, for the numeric `challenge_id` from the hashtag details response. Page with `cursor` and `count`.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric hashtag (challenge) id, from the hashtag details response.","example":"5216"},"required":true,"description":"Numeric hashtag (challenge) id, from the hashtag details response.","name":"challenge_id","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"itemList":{"type":"array","items":{"nullable":true}}},"required":["itemList"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/search/trending":{"get":{"operationId":"Get TikTok Trending Searchwords","tags":["TikTok - Search"],"summary":"List TikTok trending searches","description":"Returns TikTok's current trending search keywords in `trending_search_words`. No inputs are needed.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"trending_search_words":{"type":"array","items":{"nullable":true}}},"required":["trending_search_words"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/user/fans":{"get":{"operationId":"Get TikTok User Fans","tags":["TikTok - User"],"summary":"List TikTok user followers (web)","description":"Returns followers of the user with `sec_uid`, in `userList`. Page with `count`, `max_cursor`, and `min_cursor`. Deprecated: use `/v2/tiktok/app/user/followers`.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"description":"User's `sec_uid`, from a profile response.","example":"MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA"},"required":true,"description":"User's `sec_uid`, from a profile response.","name":"sec_uid","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `max_cursor`."},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `max_cursor`.","name":"max_cursor","in":"query"},{"schema":{"type":"string","description":"Lower pagination cursor. Leave unset for page one; for later pages use the previous response's `min_cursor`."},"required":false,"description":"Lower pagination cursor. Leave unset for page one; for later pages use the previous response's `min_cursor`.","name":"min_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"userList":{"type":"array","items":{"nullable":true}}},"required":["userList"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/user/following":{"get":{"operationId":"Get TikTok User Follow","tags":["TikTok - User"],"summary":"List TikTok user following (web)","description":"Returns accounts followed by the user with `sec_uid`, in `userList`. Page with `count`, `max_cursor`, and `min_cursor`. Deprecated: use `/v2/tiktok/app/user/following`.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"description":"User's `sec_uid`, from a profile response.","example":"MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA"},"required":true,"description":"User's `sec_uid`, from a profile response.","name":"sec_uid","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `max_cursor`."},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `max_cursor`.","name":"max_cursor","in":"query"},{"schema":{"type":"string","description":"Lower pagination cursor. Leave unset for page one; for later pages use the previous response's `min_cursor`."},"required":false,"description":"Lower pagination cursor. Leave unset for page one; for later pages use the previous response's `min_cursor`.","name":"min_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"userList":{"type":"array","items":{"nullable":true}}},"required":["userList"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/user/likes":{"get":{"operationId":"Get TikTok User Likes","tags":["TikTok - User"],"summary":"List TikTok user likes","description":"Returns videos liked by the user with `sec_uid`, only when that user's likes are public. Otherwise the result is empty. Page with `cursor` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"User's `sec_uid`, from a profile response. The user's likes must be public.","example":"MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA"},"required":true,"description":"User's `sec_uid`, from a profile response. The user's likes must be public.","name":"sec_uid","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Cover image format to return. Leave unset for the default."},"required":false,"description":"Cover image format to return. Leave unset for the default.","name":"cover_format","in":"query"},{"schema":{"type":"string","description":"Ordering of the liked videos. Leave unset for the default order."},"required":false,"description":"Ordering of the liked videos. Leave unset for the default order.","name":"sort_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/user/live":{"get":{"operationId":"Get TikTok User Live Detail","tags":["TikTok - User"],"summary":"Get TikTok user LIVE room","description":"Returns the current LIVE room of a TikTok user, looked up by `unique_id` (the handle without `@`), in `data`. The room details are empty when the user is not live.","parameters":[{"schema":{"type":"string","minLength":1,"description":"TikTok handle without the leading `@`, for example `khaby.lame`.","example":"khaby.lame"},"required":true,"description":"TikTok handle without the leading `@`, for example `khaby.lame`.","name":"unique_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/user/mix":{"get":{"operationId":"Get TikTok User Mix","tags":["TikTok - User"],"summary":"List TikTok playlist videos","description":"Returns the videos in one TikTok playlist (mix), looked up by `mix_id`, in `itemList`. Get `mix_id` from the user playlists endpoint. Page with `cursor` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric playlist (mix) id, from the user playlists response.","example":"7101538765474106158"},"required":true,"description":"Numeric playlist (mix) id, from the user playlists response.","name":"mix_id","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"itemList":{"type":"array","items":{"nullable":true}}},"required":["itemList"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/user/playlists":{"get":{"operationId":"Get TikTok User Playlists","tags":["TikTok - User"],"summary":"List TikTok user playlists","description":"Returns the playlists (mixes) of the user with `sec_uid`. Page with `cursor` and `count`. The result is empty for users with no public playlists.","parameters":[{"schema":{"type":"string","minLength":1,"description":"User's `sec_uid`, from a profile response.","example":"MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA"},"required":true,"description":"User's `sec_uid`, from a profile response.","name":"sec_uid","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/user/profile":{"get":{"operationId":"Get TikTok User Profile","tags":["TikTok - User"],"summary":"Get TikTok user profile (web)","description":"Deprecated: use `/v1/tiktok/profile` instead. Returns a public TikTok profile, with stats, in `userInfo`. Provide `unique_id` (the handle) or `sec_uid`.","deprecated":true,"parameters":[{"schema":{"type":"string","description":"TikTok handle without the leading `@`. Send this or `sec_uid`.","example":"khaby.lame"},"required":false,"description":"TikTok handle without the leading `@`. Send this or `sec_uid`.","name":"unique_id","in":"query"},{"schema":{"type":"string","description":"User's `sec_uid`. Send this or `unique_id`."},"required":false,"description":"User's `sec_uid`. Send this or `unique_id`.","name":"sec_uid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"userInfo":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["userInfo"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/user/reposts":{"get":{"operationId":"Get TikTok User Reposts Web","tags":["TikTok - User"],"summary":"List TikTok user reposts (web)","description":"Returns videos reposted by the user with `sec_uid`, in `itemList`. Page with `cursor` and `count`; `cover_format` picks the cover image format.","parameters":[{"schema":{"type":"string","minLength":1,"description":"User's `sec_uid`, from a profile response.","example":"MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA"},"required":true,"description":"User's `sec_uid`, from a profile response.","name":"sec_uid","in":"query"},{"schema":{"type":"string","description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Pagination cursor. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"cursor","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Cover image format to return. Leave unset for the default."},"required":false,"description":"Cover image format to return. Leave unset for the default.","name":"cover_format","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"itemList":{"type":"array","items":{"nullable":true}}},"required":["itemList"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/resolve/aweme-id":{"get":{"operationId":"Resolve TikTok Aweme ID","tags":["TikTok - Video"],"summary":"Resolve TikTok URL to video ID","description":"Returns the video `aweme_id` for a TikTok video `url`, such as a share link or full video URL.","parameters":[{"schema":{"type":"string","minLength":1,"description":"TikTok video URL, either a full video link or a short share link.","example":"https://www.tiktok.com/@khaby.lame/video/7662422992172911903"},"required":true,"description":"TikTok video URL, either a full video link or a short share link.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"string","nullable":true},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/resolve/sec-user-id":{"get":{"operationId":"Resolve TikTok Sec User ID","tags":["TikTok - User"],"summary":"Resolve TikTok URL to sec user ID","description":"Returns the `sec_user_id` for a TikTok profile `url`, for example `https://www.tiktok.com/@khaby.lame`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"TikTok profile URL, for example `https://www.tiktok.com/@khaby.lame`.","example":"https://www.tiktok.com/@khaby.lame"},"required":true,"description":"TikTok profile URL, for example `https://www.tiktok.com/@khaby.lame`.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"string","nullable":true},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/resolve/unique-id":{"get":{"operationId":"Resolve TikTok Unique ID","tags":["TikTok - User"],"summary":"Resolve TikTok URL to username","description":"Returns the `unique_id` (the handle without `@`) for a TikTok profile `url`, for example `https://www.tiktok.com/@khaby.lame`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"TikTok profile URL, for example `https://www.tiktok.com/@khaby.lame`.","example":"https://www.tiktok.com/@khaby.lame"},"required":true,"description":"TikTok profile URL, for example `https://www.tiktok.com/@khaby.lame`.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"string","nullable":true},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/web/resolve/user-id":{"get":{"operationId":"Resolve TikTok User ID","tags":["TikTok - User"],"summary":"Resolve TikTok URL to user ID","description":"Returns the numeric `user_id` for a TikTok profile `url`, for example `https://www.tiktok.com/@khaby.lame`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"TikTok profile URL, for example `https://www.tiktok.com/@khaby.lame`.","example":"https://www.tiktok.com/@khaby.lame"},"required":true,"description":"TikTok profile URL, for example `https://www.tiktok.com/@khaby.lame`.","name":"url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"string","nullable":true},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/search/general":{"get":{"operationId":"Search TikTok General","tags":["TikTok - Search"],"summary":"Search TikTok videos, users, hashtags","description":"Returns mixed public TikTok search results (videos, users, hashtags) for `keyword`. Sort with `sort_type` and filter by `publish_time`; page with `offset` and `count`.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Search term. Matches videos, users, and hashtags.","example":"cats"},"required":true,"description":"Search term. Matches videos, users, and hashtags.","name":"keyword","in":"query"},{"schema":{"type":"string","description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","example":"0"},"required":false,"description":"Where the page starts. `0` for page one; for later pages send the previous response's `cursor` when it has one.","name":"offset","in":"query"},{"schema":{"type":"string","description":"Number of items to request per page.","example":"12"},"required":false,"description":"Number of items to request per page.","name":"count","in":"query"},{"schema":{"type":"string","description":"Result ordering value. Leave unset for the default order.","example":"0"},"required":false,"description":"Result ordering value. Leave unset for the default order.","name":"sort_type","in":"query"},{"schema":{"type":"string","description":"Filter by publication time. Leave unset for no time filter.","example":"0"},"required":false,"description":"Filter by publication time. Leave unset for no time filter.","name":"publish_time","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok/app/hashtag":{"get":{"operationId":"Get TikTok Hashtag Detail","tags":["TikTok - Hashtag"],"summary":"Get TikTok hashtag by ID","description":"Returns the public details of one TikTok hashtag, looked up by numeric `ch_id` (the challenge id from a hashtag search result). `region` localizes the response.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Numeric hashtag (challenge) id, for example from `challenge_list` in a hashtag search result.","example":"5216"},"required":true,"description":"Numeric hashtag (challenge) id, for example from `challenge_list` in a hashtag search result.","name":"ch_id","in":"query"},{"schema":{"type":"string","description":"Two-letter country code, for example `US`, that localizes the results.","example":"US"},"required":false,"description":"Two-letter country code, for example `US`, that localizes the results.","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"ch_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["ch_info"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok","x-toolzer-verified":false}},"/v2/tiktok-shop/products/search":{"get":{"operationId":"Search TikTok Shop Products","tags":["TikTok Shop - Product"],"summary":"Search TikTok Shop products","description":"Returns TikTok Shop products matching `keyword` in the chosen `region`. For the next page, send `load_more_params.page_token` from the previous response as `page_token`; `has_more` says whether more results exist.","parameters":[{"schema":{"type":"string","minLength":1,"example":"phone","description":"Search text, for example a product name or category word."},"required":true,"description":"Search text, for example a product name or category word.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0,"example":0,"description":"Result offset for paging. Use 0 for the first page, then the `load_more_params.offset` from the previous response, together with `page_token`."},"required":false,"description":"Result offset for paging. Use 0 for the first page, then the `load_more_params.offset` from the previous response, together with `page_token`.","name":"offset","in":"query"},{"schema":{"type":"string","default":"","description":"Pass the previous response's `load_more_params.page_token` to fetch the next page.","example":""},"required":false,"description":"Pass the previous response's `load_more_params.page_token` to fetch the next page.","name":"page_token","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","ID"],"default":"US","description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","name":"region","in":"query"},{"schema":{"type":"string","default":true,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","example":"true"},"required":false,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","name":"clean","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"has_more":{"type":"boolean"},"load_more_params":{"type":"object","properties":{"offset":{"type":"number"},"page_token":{"type":"string"},"api_source":{"type":"number"}},"additionalProperties":{"nullable":true}}},"required":["products"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":false}},"/v2/tiktok-shop/products/search/suggestions":{"get":{"operationId":"Get TikTok Shop Search Suggestions","tags":["TikTok Shop - Product"],"summary":"Get TikTok Shop search suggestions","description":"Returns autocomplete and related search terms for a partial `keyword`, as an array of strings. `lang` sets the suggestion language and `region` the storefront.","parameters":[{"schema":{"type":"string","minLength":1,"example":"phone","description":"Partial search text to complete, for example `wire`."},"required":true,"description":"Partial search text to complete, for example `wire`.","name":"keyword","in":"query"},{"schema":{"type":"string","default":"en-US","example":"en-US","description":"Language code of the suggestions, for example `en-US`."},"required":false,"description":"Language code of the suggestions, for example `en-US`.","name":"lang","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","ID"],"default":"US","description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","name":"region","in":"query"},{"schema":{"type":"string","default":true,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","example":"true"},"required":false,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","name":"clean","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"string"}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":false}},"/v2/tiktok-shop/product/detail":{"get":{"operationId":"Get TikTok Shop Product Detail","tags":["TikTok Shop - Product"],"summary":"Get TikTok Shop product details","description":"Deprecated: use `/v1/tiktok-shop/product/detail` instead. Returns a TikTok Shop product's media, SKUs, shop data, review summary, and vouchers for `product_id`. Requires `region`; take product IDs from search or category results.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"1732432759321694958","description":"TikTok Shop product ID, from the `product_id` field of a search, category, or seller result."},"required":true,"description":"TikTok Shop product ID, from the `product_id` field of a search, category, or seller result.","name":"product_id","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","ID"],"description":"TikTok Shop storefront region code. Product IDs are region-specific, so use the region the product was listed in.","example":"SG"},"required":true,"description":"TikTok Shop storefront region code. Product IDs are region-specific, so use the region the product was listed in.","name":"region","in":"query"},{"schema":{"type":"string","default":true,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","example":"true"},"required":false,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","name":"clean","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"product_info":{"type":"object","properties":{"product_model":{"type":"object","properties":{"product_id":{"type":"string"},"seller_id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}},"shop_info":{"type":"object","additionalProperties":{"nullable":true}},"reviews_info":{"nullable":true},"hot_reviews":{"nullable":true},"vouchers":{"nullable":true},"category_info":{"nullable":true},"shop_performance":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":false}},"/v2/tiktok-shop/product/reviews":{"get":{"operationId":"Get TikTok Shop Product Reviews","tags":["TikTok Shop - Product"],"summary":"List TikTok Shop product reviews","description":"Deprecated: use `/v1/tiktok-shop/product/reviews` instead. Returns customer reviews and the rating summary for `product_id`. When `has_more` is true, request `page_start + 1` for the next page. `filter_type` and `filter_value` narrow by media, verified purchase, or star rating.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"1729408816995078528","description":"TikTok Shop product ID, from the `product_id` field of a search, category, or seller result."},"required":true,"description":"TikTok Shop product ID, from the `product_id` field of a search, category, or seller result.","name":"product_id","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number. When the response's `has_more` is true, request `page_start + 1` for the next page."},"required":false,"description":"Page number. When the response's `has_more` is true, request `page_start + 1` for the next page.","name":"page_start","in":"query"},{"schema":{"type":"integer","nullable":true,"default":2,"example":2,"description":"Review sort order as an integer: 2 (default) is most recent, 1 is recommended."},"required":false,"description":"Review sort order as an integer: 2 (default) is most recent, 1 is recommended.","name":"sort_rule","in":"query"},{"schema":{"type":"string","enum":["no_filter","with_media","verified_purchase"],"default":"no_filter","example":"no_filter","description":"Review filter. no_filter = all reviews, with_media = reviews containing images/video, verified_purchase = verified purchase reviews only."},"required":false,"description":"Review filter. no_filter = all reviews, with_media = reviews containing images/video, verified_purchase = verified purchase reviews only.","name":"filter_type","in":"query"},{"schema":{"type":"string","enum":["all","5_star","4_star","3_star","2_star","1_star"],"default":"all","example":"all","description":"Star rating filter. all = every rating, 5_star..1_star = only reviews with that star rating."},"required":false,"description":"Star rating filter. all = every rating, 5_star..1_star = only reviews with that star rating.","name":"filter_value","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","ID"],"default":"US","description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","name":"region","in":"query"},{"schema":{"type":"string","default":true,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","example":"true"},"required":false,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","name":"clean","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"product_reviews":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"has_more":{"anyOf":[{"type":"boolean"},{"type":"number"}]},"total_reviews":{"anyOf":[{"type":"number"},{"type":"string"}]},"review_ratings":{"type":"object","properties":{"review_count":{"anyOf":[{"type":"number"},{"type":"string"}]},"overall_score":{"anyOf":[{"type":"number"},{"type":"string"}]},"rating_result":{"type":"object","additionalProperties":{"anyOf":[{"type":"number"},{"type":"string"}]}}},"additionalProperties":{"nullable":true}}},"required":["product_reviews"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":false}},"/v2/tiktok-shop/seller/products":{"get":{"operationId":"Get TikTok Shop Seller Products","tags":["TikTok Shop - Shop"],"summary":"List TikTok Shop seller products","description":"Returns a seller's product catalog for `seller_id` in its default order. Send `next_search_param` from the response as `search_params` to get the next page; it is empty when there are no more.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7495150558072178725","description":"TikTok Shop seller ID, from the shop data in a product detail result or from a resolved share link."},"required":true,"description":"TikTok Shop seller ID, from the shop data in a product detail result or from a resolved share link.","name":"seller_id","in":"query"},{"schema":{"type":"string","default":"","description":"Cursor for the next page. Send the previous response's `next_search_param`; leave empty for the first page.","example":""},"required":false,"description":"Cursor for the next page. Send the previous response's `next_search_param`; leave empty for the first page.","name":"search_params","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","ID"],"default":"US","description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","name":"region","in":"query"},{"schema":{"type":"string","default":true,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","example":"true"},"required":false,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","name":"clean","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"products":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"has_more":{"anyOf":[{"type":"boolean"},{"type":"number"}]},"next_search_param":{"type":"string"}},"required":["products","next_search_param"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":false}},"/v2/tiktok-shop/categories":{"get":{"operationId":"Get TikTok Shop Categories","tags":["TikTok Shop - Category"],"summary":"List TikTok Shop categories","description":"Returns the TikTok Shop product category tree for `region`, with each category's children. Use a category ID from the tree with the category products endpoint.","parameters":[{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","ID"],"default":"US","description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","name":"region","in":"query"},{"schema":{"type":"string","default":true,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","example":"true"},"required":false,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","name":"clean","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","properties":{"self":{"type":"object","properties":{"category_id":{"type":"string"},"category_level":{"type":"number"},"is_leaf":{"type":"boolean"},"parent_category_id":{"type":"string"},"category_name":{"type":"string"},"category_name_en":{"type":"string"},"image_url":{"type":"string"}},"required":["category_id"],"additionalProperties":{"nullable":true}},"children":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"required":["self","children"],"additionalProperties":{"nullable":true}}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":false}},"/v2/tiktok-shop/category/products":{"get":{"operationId":"Get TikTok Shop Category Products","tags":["TikTok Shop - Category"],"summary":"List TikTok Shop category products","description":"Returns products in `category_id` for `region`. Use `offset` to page; `hasMore` says whether another page exists.","parameters":[{"schema":{"type":"integer","nullable":true,"example":601450,"description":"Numeric category ID, from the `self.category_id` of a node in the `/categories` response."},"required":false,"description":"Numeric category ID, from the `self.category_id` of a node in the `/categories` response.","name":"category_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0,"example":0,"description":"Result offset for paging. Use 0 for the first page, then increase it to get later pages."},"required":false,"description":"Result offset for paging. Use 0 for the first page, then increase it to get later pages.","name":"offset","in":"query"},{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","ID"],"default":"US","description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","name":"region","in":"query"},{"schema":{"type":"string","default":true,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","example":"true"},"required":false,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","name":"clean","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"productList":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"hasMore":{"type":"boolean"}},"required":["productList"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":false}},"/v2/tiktok-shop/products/trending":{"get":{"operationId":"Get TikTok Shop Trending Products","tags":["TikTok Shop - Product"],"summary":"List TikTok Shop trending products","description":"Deprecated. Returns currently popular products for `region`. `count` sets the batch size; while `hasMore` is true, send the IDs already received in `exclude_product_ids` to get the next batch.","deprecated":true,"parameters":[{"schema":{"type":"string","enum":["US","GB","SG","MY","PH","TH","VN","ID"],"default":"US","description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","example":"US"},"required":false,"description":"TikTok Shop storefront region code. Results, prices, and availability are region-specific.","name":"region","in":"query"},{"schema":{"type":"integer","minimum":1,"default":20,"example":20,"description":"Number of trending products to request in one batch."},"required":false,"description":"Number of trending products to request in one batch.","name":"count","in":"query"},{"schema":{"type":"string","description":"Comma-separated product IDs you already received. Send all collected IDs to get the next batch while `hasMore` is true."},"required":false,"description":"Comma-separated product IDs you already received. Send all collected IDs to get the next batch while `hasMore` is true.","name":"exclude_product_ids","in":"query"},{"schema":{"type":"string","default":true,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","example":"true"},"required":false,"description":"Defaults to true. Set false to get the unshaped source payload; its shape is not guaranteed to match the documented response schema.","name":"clean","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"productList":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"],"additionalProperties":{"nullable":true}}},"hasMore":{"type":"boolean","description":"Whether another batch of products is available."}},"required":["productList"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":false}},"/v2/tiktok-shop/shop/resolve-share-link":{"get":{"operationId":"Resolve TikTok Shop Share Link","tags":["TikTok Shop - Shop"],"summary":"Resolve TikTok Shop share link","description":"Resolves a TikTok Shop share link to a `seller_id` (storefront link) or `product_id` (product link). `resolved_url` holds the redirect target. Accepts https links on vt.tiktok.com, vm.tiktok.com, www.tiktok.com or shop.tiktok.com.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://vt.tiktok.com/ZT2AHoGsE/","description":"TikTok Shop share link (short or full URL). Must be an https URL on vt.tiktok.com, vm.tiktok.com, www.tiktok.com or shop.tiktok.com."},"required":true,"description":"TikTok Shop share link (short or full URL). Must be an https URL on vt.tiktok.com, vm.tiktok.com, www.tiktok.com or shop.tiktok.com.","name":"share_link","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"seller_id":{"type":"string"},"product_id":{"type":"string"},"resolved_url":{"type":"string"}},"required":["resolved_url"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error422"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"tiktok-shop","x-toolzer-verified":false}},"/v2/rednote/posts/image":{"get":{"operationId":"Get RedNote Image Post","tags":["RedNote - Posts"],"summary":"Get image post","description":"Get a public RedNote image post using its ID or URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.xiaohongshu.com/explore/64f5a78c000000001f0163d1","description":"Public RedNote post ID or URL."},"required":true,"description":"Public RedNote post ID or URL.","name":"post_id_or_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":[{"id":"post_123","title":"Weekend in Kyoto"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/posts/video":{"get":{"operationId":"Get RedNote Video Post","tags":["RedNote - Posts"],"summary":"Get video post","description":"Get a public RedNote video post using its ID or URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.xiaohongshu.com/explore/64f5a78c000000001f0163d1","description":"Public RedNote post ID or URL."},"required":true,"description":"Public RedNote post ID or URL.","name":"post_id_or_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":[{"id":"post_456","title":"Matcha guide"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/posts/comments":{"get":{"operationId":"Get RedNote Post Comments","tags":["RedNote - Posts"],"summary":"List post comments","description":"List comments for a public post. Send the response cursor to continue the list.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.xiaohongshu.com/explore/64f5a78c000000001f0163d1","description":"Public RedNote post ID or URL."},"required":true,"description":"Public RedNote post ID or URL.","name":"post_id_or_url","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["latest","popular","default"],"default":"latest","description":"Comment order. `latest` is the reliable chronological mode."},"required":false,"description":"Comment order. `latest` is the reliable chronological mode.","name":"sort","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","items":{"nullable":true}},"has_more":{"type":"boolean"},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["comments","has_more"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"comments":[{"id":"comment_123","content":"Lovely"}],"has_more":true,"next_cursor":"eyJjdXJzb3IiOiJuZXh0In0"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/posts/comments/replies":{"get":{"operationId":"Get RedNote Post Replies","tags":["RedNote - Posts"],"summary":"List comment replies","description":"List replies to a comment. Send the response cursor to continue the list.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.xiaohongshu.com/explore/64f5a78c000000001f0163d1","description":"Public RedNote post ID or URL."},"required":true,"description":"Public RedNote post ID or URL.","name":"post_id_or_url","in":"query"},{"schema":{"type":"string","minLength":1,"example":"64f5a8ab0000000002021c92","description":"Parent comment ID."},"required":true,"description":"Parent comment ID.","name":"comment_id","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","items":{"nullable":true}},"has_more":{"type":"boolean"},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["comments","has_more"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"comments":[],"has_more":false}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/profiles/profile":{"get":{"operationId":"Get RedNote Profile","tags":["RedNote - Profiles"],"summary":"Get profile","description":"Get a public RedNote profile using its ID or URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.xiaohongshu.com/user/profile/5f1a9f4e0000000001008c2a","description":"Public RedNote profile ID or full profile URL."},"required":true,"description":"Public RedNote profile ID or full profile URL.","name":"profile_id_or_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"desc":{"type":"string"}},"required":["desc"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"result":{"success":true},"desc":"Travel notes and photos"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/profiles/posts":{"get":{"operationId":"Get RedNote Profile Posts","tags":["RedNote - Profiles"],"summary":"List profile posts","description":"List posts published by a public profile. Send the response cursor to continue the list.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.xiaohongshu.com/user/profile/5f1a9f4e0000000001008c2a","description":"Public RedNote profile ID or full profile URL."},"required":true,"description":"Public RedNote profile ID or full profile URL.","name":"profile_id_or_url","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"has_more":{"type":"boolean"},"notes":{"type":"array","items":{"nullable":true}},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["has_more","notes"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"has_more":true,"notes":[{"id":"post_123"}],"next_cursor":"eyJjdXJzb3IiOiJuZXh0In0"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/profiles/favorites":{"get":{"operationId":"Get RedNote Profile Favorites","tags":["RedNote - Profiles"],"summary":"List profile favorites","description":"List a profile's publicly visible favorite posts. Send the response cursor to continue the list.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.xiaohongshu.com/user/profile/5f1a9f4e0000000001008c2a","description":"Public RedNote profile ID or full profile URL."},"required":true,"description":"Public RedNote profile ID or full profile URL.","name":"profile_id_or_url","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"has_more":{"type":"boolean"},"notes":{"type":"array","items":{"nullable":true}},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["has_more","notes"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"has_more":true,"notes":[{"id":"post_123"}],"next_cursor":"eyJjdXJzb3IiOiJuZXh0In0"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/topics/info":{"get":{"operationId":"Get RedNote Topic","tags":["RedNote - Topics"],"summary":"Get topic details","description":"Get public metadata for a RedNote topic.","parameters":[{"schema":{"type":"string","minLength":1,"example":"5a55f5d3d8075f0b4d3c3fb4","description":"RedNote topic ID."},"required":true,"description":"RedNote topic ID.","name":"topic_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"page_id":{"type":"string"},"topic_id":{"type":"string"}},"required":["page_id","topic_id"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"page_id":"topic_123","topic_id":"topic_123","page_info":{}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/topics/posts":{"get":{"operationId":"Get RedNote Topic Posts","tags":["RedNote - Topics"],"summary":"List topic posts","description":"List public posts for a topic. Send the response cursor to continue the list.","parameters":[{"schema":{"type":"string","minLength":1,"example":"5a55f5d3d8075f0b4d3c3fb4","description":"RedNote topic ID."},"required":true,"description":"RedNote topic ID.","name":"topic_id","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["trending","recent"],"default":"trending"},"required":false,"name":"sort","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"has_more":{"type":"boolean"},"items":{"type":"array","items":{"nullable":true}},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["has_more","items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"has_more":true,"items":[{"id":"post_123"}],"next_cursor":"eyJjdXJzb3Jfc2NvcmUiOiIxIn0"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/search/posts":{"get":{"operationId":"Search RedNote Posts","tags":["RedNote - Search"],"summary":"Search posts","description":"Search public RedNote posts by keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"travel in Kyoto"},"required":true,"name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["relevance","recent","popular","most_commented","most_saved","english"],"default":"relevance"},"required":false,"name":"sort","in":"query"},{"schema":{"type":"string","enum":["all","video","image","live"],"default":"all"},"required":false,"name":"content_type","in":"query"},{"schema":{"type":"string","enum":["all","day","week","half_year"],"default":"all"},"required":false,"name":"time_range","in":"query"},{"schema":{"type":"boolean","default":false},"required":false,"name":"ai_mode","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"nullable":true}},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"items":[{"note":{"id":"post_123"}}],"next_cursor":"eyJwYWdlIjoyfQ"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/search/profiles":{"get":{"operationId":"Search RedNote Profiles","tags":["RedNote - Search"],"summary":"Search profiles","description":"Search public RedNote profiles by keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"travel in Kyoto"},"required":true,"name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"filters":{"type":"array","items":{"nullable":true}},"users":{"type":"array","items":{"nullable":true}},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["filters","users"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"filters":[],"users":[{"id":"profile_123","name":"Ada"}],"next_cursor":"eyJwYWdlIjoyfQ"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/search/images":{"get":{"operationId":"Search RedNote Images","tags":["RedNote - Search"],"summary":"Search images","description":"Search public RedNote images by keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"travel in Kyoto"},"required":true,"name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"nullable":true}},"filter_items":{"type":"array","items":{"nullable":true}},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["items","filter_items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"items":[{"id":"post_123"}],"filter_items":[],"next_cursor":"eyJwYWdlIjoyfQ"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/search/products":{"get":{"operationId":"Search RedNote Products","tags":["RedNote - Search"],"summary":"Search products","description":"Search public RedNote products by keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"travel in Kyoto"},"required":true,"name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"biz_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"hierarchy":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"module":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"container":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"ver":{"type":"string"},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["biz_info","hierarchy","module","container","ver"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"biz_info":{},"hierarchy":{},"module":{},"container":{},"ver":"1","next_cursor":"eyJwYWdlIjoyfQ"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/search/groups":{"get":{"operationId":"Search RedNote Groups","tags":["RedNote - Search"],"summary":"Search groups","description":"Search public RedNote groups by keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"travel in Kyoto"},"required":true,"name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"has_more":{"type":"boolean"},"group_search_filters":{"type":"array","items":{"nullable":true}},"group_info_list":{"type":"array","items":{"nullable":true}},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["has_more","group_search_filters","group_info_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"has_more":true,"group_search_filters":[],"group_info_list":[{"group_id":"group_123"}],"next_cursor":"eyJwYWdlX25vIjoxfQ"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/search/suggestions":{"get":{"operationId":"Get RedNote Search Suggestions","tags":["RedNote - Search"],"summary":"Get search suggestions","description":"Get RedNote search suggestions. Omit `query` for popular suggestions.","parameters":[{"schema":{"type":"string","default":"","example":"matcha","description":"Search phrase; leave empty for popular suggestions."},"required":false,"description":"Search phrase; leave empty for popular suggestions.","name":"query","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"sug_items":{"type":"array","items":{"nullable":true}}},"required":["sug_items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"sug_items":[{"text":"matcha latte"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/products/detail":{"get":{"operationId":"Get RedNote Product","tags":["RedNote - Products"],"summary":"Get product details","description":"Get public details for a RedNote product.","parameters":[{"schema":{"type":"string","minLength":1,"example":"1798523824904751220","description":"RedNote product ID."},"required":true,"description":"RedNote product ID.","name":"product_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"biz_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"hierarchy":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"module":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"container":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"ver":{"type":"string"}},"required":["biz_info","hierarchy","module","container","ver"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"biz_info":{},"hierarchy":{},"module":{},"container":{},"ver":"1"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/products/reviews/overview":{"get":{"operationId":"Get RedNote Product Review Overview","tags":["RedNote - Products"],"summary":"Get product review summary","description":"Get a RedNote product's aggregate rating and review information.","parameters":[{"schema":{"type":"string","minLength":1,"example":"1798523824904751220","description":"RedNote product ID."},"required":true,"description":"RedNote product ID.","name":"product_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"reviews":{"type":"array","items":{"nullable":true}},"total":{"type":"number"}},"required":["reviews","total"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"reviews":[],"total":42}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/products/reviews":{"get":{"operationId":"Get RedNote Product Reviews","tags":["RedNote - Products"],"summary":"List product reviews","description":"List public reviews for a RedNote product.","parameters":[{"schema":{"type":"string","minLength":1,"example":"1798523824904751220","description":"RedNote product ID."},"required":true,"description":"RedNote product ID.","name":"product_id","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"string","enum":["relevance","recent"],"default":"relevance"},"required":false,"name":"sort","in":"query"},{"schema":{"type":"boolean","default":false},"required":false,"name":"only_with_images","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"reviews":{"type":"array","items":{"nullable":true}},"hasMore":{"type":"boolean"}},"required":["reviews","hasMore"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"reviews":[],"hasMore":false}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/products/recommendations":{"get":{"operationId":"Get RedNote Product Recommendations","tags":["RedNote - Products"],"summary":"List related products","description":"List products related to a RedNote product. Send the response cursor to continue the list.","parameters":[{"schema":{"type":"string","minLength":1,"example":"1798523824904751220","description":"RedNote product ID."},"required":true,"description":"RedNote product ID.","name":"product_id","in":"query"},{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":2,"default":"US","example":"US"},"required":false,"name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"components":{"type":"array","items":{"nullable":true}},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["components"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"result":{"success":true},"components":[]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/creators/inspiration":{"get":{"operationId":"Get RedNote Creator Inspiration","tags":["RedNote - Creators"],"summary":"List creator inspiration","description":"List creator inspiration items. Send the response cursor to continue the list.","parameters":[{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","nullable":true,"default":0,"example":0},"required":false,"name":"category","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"inspirations":{"type":"array","items":{"nullable":true}},"end_flag":{"type":"boolean"},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["inspirations","end_flag"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"inspirations":[],"end_flag":false,"next_cursor":"eyJjdXJzb3IiOiJuZXh0In0"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/creators/hot-inspiration":{"get":{"operationId":"Get RedNote Creator Hot Inspiration","tags":["RedNote - Creators"],"summary":"List trending inspiration","description":"List trending creator inspiration items. Send the response cursor to continue the list.","parameters":[{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"nullable":true}},"end_flag":{"type":"boolean"},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["items","end_flag"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"items":[],"end_flag":false,"next_cursor":"eyJjdXJzb3IiOiJuZXh0In0"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/feed/home":{"get":{"operationId":"Get RedNote Home Feed","tags":["RedNote - Posts"],"summary":"Get home feed","description":"Get RedNote home-feed recommendations.","parameters":[{"schema":{"type":"string","description":"Opaque continuation cursor from a previous response."},"required":false,"description":"Opaque continuation cursor from a previous response.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":40,"default":20,"example":20},"required":false,"name":"page_size","in":"query"},{"schema":{"type":"string","default":"recommended","example":"recommended"},"required":false,"name":"category","in":"query"},{"schema":{"type":"string","enum":["all","image"],"default":"all","description":"Post types to return: all for a mixed feed, image for image and text posts only."},"required":false,"description":"Post types to return: all for a mixed feed, image for image and text posts only.","name":"content_type","in":"query"},{"schema":{"type":"boolean","enum":[true],"description":"Deprecated. Use content_type to select all posts or image and text posts. Only true is supported."},"required":false,"description":"Deprecated. Use content_type to select all posts or image and text posts. Only true is supported.","name":"include_images","in":"query","deprecated":true}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"nullable":true}},"next_cursor":{"type":"string","description":"Opaque continuation cursor, when more results are available."}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"items":[{"id":"post_123"}],"next_cursor":"eyJjdXJzb3Jfc2NvcmUiOiIxIn0"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/feed/categories":{"get":{"operationId":"Get RedNote Home Feed Categories","tags":["RedNote - Posts"],"summary":"List home feed categories","description":"List categories available for the RedNote home feed.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"categories":{"type":"array","items":{"nullable":true}}},"required":["categories"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"categories":[{"id":"recommended","name":"Recommended"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/rednote/profiles/web-profile":{"get":{"operationId":"Get RedNote Web Profile","tags":["RedNote - Profiles"],"summary":"Get web profile","description":"Get public profile information and interactions using a profile ID or URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.xiaohongshu.com/user/profile/5f1a9f4e0000000001008c2a","description":"Public RedNote profile ID or full profile URL."},"required":true,"description":"Public RedNote profile ID or full profile URL.","name":"profile_id_or_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"basic_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"interactions":{"type":"array","items":{"nullable":true}}},"required":["basic_info","interactions"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"result":{"success":true},"basic_info":{"nickname":"Ada"},"interactions":[]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"rednote","x-toolzer-verified":false}},"/v2/weibo/profiles/info":{"get":{"operationId":"Get Weibo User Info","tags":["Weibo - Profiles"],"summary":"Get profile","description":"Deprecated: use `/v1/weibo/profiles/info` instead. Get a public Weibo profile by user ID.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"1699432410","description":"Weibo numeric user ID."},"required":true,"description":"Weibo numeric user ID.","name":"uid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"userInfo":{"type":"object","properties":{"id":{"type":"number"},"screen_name":{"type":"string"}},"required":["id","screen_name"],"additionalProperties":{"nullable":true}}},"required":["userInfo"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"id":1699432410,"idstr":"1699432410","screen_name":"新华社","followers_count":113944165,"verified":true}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/profiles/posts":{"get":{"operationId":"Get Weibo User Posts","tags":["Weibo - Profiles"],"summary":"List profile posts","description":"List posts published by a Weibo profile.","parameters":[{"schema":{"type":"string","minLength":1,"example":"1699432410","description":"Weibo numeric user ID."},"required":true,"description":"Weibo numeric user ID.","name":"uid","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1. For later pages, also send `since_id` from the previous response."},"required":false,"description":"Page number starting at 1. For later pages, also send `since_id` from the previous response.","name":"page","in":"query"},{"schema":{"type":"string","description":"Continuation value from the previous response. Omit it on the first page."},"required":false,"description":"Continuation value from the previous response. Omit it on the first page.","name":"since_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"object","properties":{"list":{"type":"array","items":{"nullable":true}},"since_id":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Continuation value to send as `since_id` when requesting the next page."}},"required":["list"],"additionalProperties":{"nullable":true}}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"since_id":"5327785934717537kp2","list":[{"id":5327962377289859,"mid":"5327962377289859","mblogid":"RbJqBuAqn","text":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/profiles/fans":{"get":{"operationId":"Get Weibo User Fans","tags":["Weibo - Profiles"],"summary":"List profile followers","description":"Returns followers for required `uid`; some large accounts do not expose followers.","parameters":[{"schema":{"type":"string","minLength":1,"example":"1699432410","description":"Weibo numeric user ID."},"required":true,"description":"Weibo numeric user ID.","name":"uid","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0,"example":0,"description":"Page number starting at 0."},"required":false,"description":"Page number starting at 0.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"users":{"type":"array","items":{"nullable":true}},"total_number":{"type":"number"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["users","total_number"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"users":[{"id":5828307028,"screen_name":"..."}],"total_number":1}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/profiles/following":{"get":{"operationId":"Get Weibo User Following","tags":["Weibo - Profiles"],"summary":"List profile following","description":"Returns accounts followed by required `uid`; some large accounts do not expose this list.","parameters":[{"schema":{"type":"string","minLength":1,"example":"1699432410","description":"Weibo numeric user ID."},"required":true,"description":"Weibo numeric user ID.","name":"uid","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0,"example":0,"description":"Page number starting at 0."},"required":false,"description":"Page number starting at 0.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"users":{"type":"array","items":{"nullable":true}},"total_number":{"type":"number"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["users","total_number"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"users":[{"id":5828307028,"screen_name":"..."}],"total_number":1}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/posts/detail":{"get":{"operationId":"Get Weibo Post Detail","tags":["Weibo - Posts"],"summary":"Get post","description":"Deprecated: use `/v1/weibo/posts/detail` instead. Get a public Weibo post by ID.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"5327962377289859","description":"Weibo numeric post/status ID, shared across post detail, comments, replies, likes, reposts, and video detail."},"required":true,"description":"Weibo numeric post/status ID, shared across post detail, comments, replies, likes, reposts, and video detail.","name":"id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"id":{"type":"number"},"mid":{"type":"string"},"text":{"type":"string"}},"required":["id","mid","text"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"id":5327962377289859,"mid":"5327962377289859","mblogid":"RbJqBuAqn","text":"...","reads_count":12345}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/posts/comments":{"get":{"operationId":"Get Weibo Post Comments","tags":["Weibo - Posts"],"summary":"List post comments","description":"List comments for a Weibo post.","parameters":[{"schema":{"type":"string","minLength":1,"example":"5327962377289859","description":"Weibo numeric post/status ID, shared across post detail, comments, replies, likes, reposts, and video detail."},"required":true,"description":"Weibo numeric post/status ID, shared across post detail, comments, replies, likes, reposts, and video detail.","name":"id","in":"query"},{"schema":{"type":"string","description":"Continuation value from the previous response's `max_id`. Omit it on the first page."},"required":false,"description":"Continuation value from the previous response's `max_id`. Omit it on the first page.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"nullable":true}},"total_number":{"type":"number"},"max_id":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["data","total_number","max_id"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[{"id":5327962977337608,"text":"...","user":{"screen_name":"..."}}],"total_number":11,"max_id":0}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/posts/comments/replies":{"get":{"operationId":"Get Weibo Post Sub Comments","tags":["Weibo - Posts"],"summary":"List comment replies","description":"List replies to a Weibo comment.","parameters":[{"schema":{"type":"string","minLength":1,"example":"5327962977337608","description":"Weibo numeric comment ID to fetch replies for."},"required":true,"description":"Weibo numeric comment ID to fetch replies for.","name":"id","in":"query"},{"schema":{"type":"string","description":"Continuation value from the previous response's `max_id`. Omit it on the first page."},"required":false,"description":"Continuation value from the previous response's `max_id`. Omit it on the first page.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"nullable":true}}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/posts/likes":{"get":{"operationId":"Get Weibo Post Likes","tags":["Weibo - Posts"],"summary":"List post likes","description":"Deprecated: use `/v1/weibo/posts/likes` instead. List public likes for a Weibo post.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"5327962377289859","description":"Weibo numeric post/status ID, shared across post detail, comments, replies, likes, reposts, and video detail."},"required":true,"description":"Weibo numeric post/status ID, shared across post detail, comments, replies, likes, reposts, and video detail.","name":"status_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"items":[{"type":"like_attitude","category":0,"data":{}},{"type":"like","category":0,"data":{}}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/posts/reposts":{"get":{"operationId":"Get Weibo Post Reposts","tags":["Weibo - Posts"],"summary":"List post reposts","description":"List public reposts for a Weibo post.","parameters":[{"schema":{"type":"string","minLength":1,"example":"5327962377289859","description":"Weibo numeric post/status ID, shared across post detail, comments, replies, likes, reposts, and video detail."},"required":true,"description":"Weibo numeric post/status ID, shared across post detail, comments, replies, likes, reposts, and video detail.","name":"status_id","in":"query"},{"schema":{"type":"string","description":"Continuation value from the previous response's `max_id`. Omit it on the first page."},"required":false,"description":"Continuation value from the previous response's `max_id`. Omit it on the first page.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"items":[{"type":"forward","category":0,"data":{}}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/search/posts":{"get":{"operationId":"Search Weibo Posts","tags":["Weibo - Search"],"summary":"Search posts","description":"Search public Weibo posts by keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"travel"},"required":true,"name":"q","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"parsed_data":{"type":"object","properties":{"results":{"type":"array","items":{"nullable":true}},"result_count":{"type":"number"},"pagination":{"type":"object","properties":{"has_next_page":{"type":"boolean"},"next_page_url":{"type":"string"}},"additionalProperties":{"nullable":true}}},"required":["results","result_count"],"additionalProperties":{"nullable":true}}},"required":["parsed_data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"parsed_data":{"results":[{"weibo_id":"5175364600727803","content":"...","weibo_type":"original"}],"result_count":10,"pagination":{"has_next_page":true}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/search/users":{"get":{"operationId":"Search Weibo Users","tags":["Weibo - Search"],"summary":"Search profiles","description":"Search public Weibo profiles by keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"travel"},"required":true,"name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"parsed_data":{"type":"object","properties":{"users":{"type":"array","items":{"nullable":true}},"count":{"type":"number"}},"required":["users","count"],"additionalProperties":{"nullable":true}}},"required":["parsed_data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"parsed_data":{"users":[{"id":1699432410,"screen_name":"新华社"}],"count":20}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/search/topics":{"get":{"operationId":"Search Weibo Topics","tags":["Weibo - Search"],"summary":"Search topics","description":"Deprecated: use `/v1/weibo/search/topics` instead. Search public Weibo topics by keyword.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"travel"},"required":true,"name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"parsed_data":{"type":"object","properties":{"items":{"type":"array","items":{"nullable":true}},"count":{"type":"number"}},"required":["items","count"],"additionalProperties":{"nullable":true}}},"required":["parsed_data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"parsed_data":{"items":[{"topic_name":"旅行","discuss_count":12345}],"count":20}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/search/videos":{"get":{"operationId":"Search Weibo Videos","tags":["Weibo - Search"],"summary":"Search videos","description":"Search public Weibo videos by keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"travel"},"required":true,"name":"query","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"string","enum":["hot","all"],"default":"hot","description":"Result mode: `hot` for popular videos or `all` for all matches."},"required":false,"description":"Result mode: `hot` for popular videos or `all` for all matches.","name":"mode","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"parsed_data":{"type":"object","properties":{"results":{"type":"array","items":{"nullable":true}},"result_count":{"type":"number"},"pagination":{"type":"object","properties":{"has_next_page":{"type":"boolean"},"next_page_url":{"type":"string"}},"additionalProperties":{"nullable":true}}},"required":["results","result_count"],"additionalProperties":{"nullable":true}}},"required":["parsed_data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"parsed_data":{"results":[{"weibo_id":"5175364600727803"}],"result_count":10,"pagination":{"has_next_page":true}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/trends/hot-search":{"get":{"operationId":"Get Weibo Hot Search","tags":["Weibo - Trends"],"summary":"List hot search trends","description":"Deprecated: use `/v1/weibo/trends/hot-search` instead. Returns the current public hot-search ranking. No query fields are required.","deprecated":true,"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"total":{"type":"number"},"data":{"type":"array","items":{"nullable":true}}},"required":["total","data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"total":53,"data":[{"rank":0,"is_top":true,"keyword":"..."}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/videos/user":{"get":{"operationId":"Get Weibo User Video List","tags":["Weibo - Videos"],"summary":"List profile videos","description":"Deprecated: use `/v1/weibo/videos/user` instead. List public videos posted by a Weibo profile.","deprecated":true,"parameters":[{"schema":{"type":"string","minLength":1,"example":"1699432410","description":"Weibo numeric user ID."},"required":true,"description":"Weibo numeric user ID.","name":"uid","in":"query"},{"schema":{"type":"string","default":"0","description":"Pagination cursor. Use `0` for the first page, then send `next_cursor` from the previous response."},"required":false,"description":"Pagination cursor. Use `0` for the first page, then send `next_cursor` from the previous response.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"list":{"type":"array","items":{"nullable":true}},"next_cursor":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"Continuation value to send as `cursor` when requesting the next page."}},"required":["list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"list":[{"id":5327962377289859,"mid":"5327962377289859"}],"next_cursor":5327577642436803}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/weibo/videos/detail":{"get":{"operationId":"Get Weibo Video Detail","tags":["Weibo - Videos"],"summary":"Get video","description":"Get a public Weibo video by ID.","parameters":[{"schema":{"type":"string","minLength":1,"example":"5327962377289859","description":"Weibo numeric post/status ID, shared across post detail, comments, replies, likes, reposts, and video detail."},"required":true,"description":"Weibo numeric post/status ID, shared across post detail, comments, replies, likes, reposts, and video detail.","name":"mid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"status":{"type":"object","properties":{"id":{"type":"number"},"mid":{"type":"string"}},"required":["id","mid"],"additionalProperties":{"nullable":true}}},"required":["status"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"id":5327962377289859,"mid":"5327962377289859","text":"..."}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"weibo","x-toolzer-verified":false}},"/v2/douyin/profiles/info":{"get":{"operationId":"Get Douyin User Info","tags":["Douyin - Profiles"],"summary":"Get a profile","description":"Returns one public profile. Accepts a `sec_user_id` or a douyin.com/user/ profile URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"user":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["user"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"user":{"uid":"2557909361237356","sec_uid":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","nickname":"...","unique_id":"23065405578","follower_count":1424741}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/profiles/info/by-uid":{"get":{"operationId":"Get Douyin User Info By UID","tags":["Douyin - Profiles"],"summary":"Get a profile by user ID","description":"Returns one public profile for a numeric `uid`, as an alternative to the `sec_user_id` the main profile endpoint takes.","parameters":[{"schema":{"type":"string","minLength":1,"example":"2557909361237356","description":"Douyin numeric user id."},"required":true,"description":"Douyin numeric user id.","name":"uid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"uid":"2557909361237356","nickname":"..."}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/profiles/info/by-username":{"get":{"operationId":"Get Douyin User Info By Username","tags":["Douyin - Profiles"],"summary":"Get a profile by handle","description":"Returns one public profile for a Douyin handle (抖音号).","parameters":[{"schema":{"type":"string","minLength":1,"example":"23065405578","description":"Douyin handle (抖音号) as shown on the profile."},"required":true,"description":"Douyin handle (抖音号) as shown on the profile.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"user_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["user_info"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"user_info":{"uid":"2557909361237356"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/profiles/info/by-short-id":{"get":{"operationId":"Get Douyin User Info By Short ID","tags":["Douyin - Profiles"],"summary":"Get a profile by short ID","description":"Returns one public profile for a Douyin `short_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"23065405578","description":"Douyin short id."},"required":true,"description":"Douyin short id.","name":"short_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"uid":"2557909361237356"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/profiles/sec-user-id":{"get":{"operationId":"Get Douyin Sec User ID","tags":["Douyin - Profiles"],"summary":"Resolve a secure user ID","description":"Resolves a numeric `uid` to the `sec_user_id` other endpoints require.","parameters":[{"schema":{"type":"string","minLength":1,"example":"2557909361237356","description":"Douyin numeric user id to convert into a sec_user_id."},"required":true,"description":"Douyin numeric user id to convert into a sec_user_id.","name":"uid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"sec_user_id":{"type":"string"},"uid":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["sec_user_id","uid"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"uid":"2557909361237356","sec_user_id":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/profiles/posts":{"get":{"operationId":"Get Douyin User Posts","tags":["Douyin - Profiles"],"summary":"List profile videos","description":"Returns videos posted by a profile. Page with `cursor`, taking the value from the previous response's `max_cursor`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":20,"default":20,"example":20,"description":"Number of items to return; do not exceed 20."},"required":false,"description":"Number of items to return; do not exceed 20.","name":"count","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":1,"default":0,"example":0,"description":"0 newest first, 1 most popular first."},"required":false,"description":"0 newest first, 1 most popular first.","name":"sort_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7584832859350142257","desc":"..."}],"max_cursor":1748000000000,"has_more":1}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/profiles/likes":{"get":{"operationId":"Get Douyin User Likes","tags":["Douyin - Profiles"],"summary":"List publicly liked videos","description":"Returns videos a profile has publicly liked. Empty for accounts that hide their likes, which is the Douyin default.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"default":20,"example":20,"description":"Number of items to return."},"required":false,"description":"Number of items to return.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}],"has_more":1}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/profiles/series":{"get":{"operationId":"Get Douyin User Series","tags":["Douyin - Profiles"],"summary":"List profile series","description":"Returns the 短剧 series published by a profile. `series_infos` is null for accounts that publish none.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"series_infos":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["series_infos"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"series_infos":null,"has_more":0,"total":0}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/profiles/collections/videos":{"get":{"operationId":"Get Douyin Collection Folder Videos","tags":["Douyin - Profiles"],"summary":"List collection folder videos","description":"Returns the videos saved in a public 收藏夹, by `collection_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7208017231412922427","description":"Douyin collection (收藏夹) id."},"required":true,"description":"Douyin collection (收藏夹) id.","name":"collection_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"default":20,"example":20,"description":"Number of items to return."},"required":false,"description":"Number of items to return.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[],"cursor":0,"has_more":0}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/videos/detail":{"get":{"operationId":"Get Douyin Video Detail","tags":["Douyin - Videos"],"summary":"Get video details","description":"Returns one public video. Accepts a bare `aweme_id` or any douyin.com video URL. For a v.douyin.com short link use /videos/detail/by-share-url instead.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448118827402972455","description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link)."},"required":true,"description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link).","name":"aweme_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_detail":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["aweme_detail"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_detail":{"aweme_id":"7448118827402972455","desc":"...","statistics":{"digg_count":4561,"play_count":239473,"share_count":69},"author":{"uid":"2557909361237356","nickname":"..."}}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/videos/detail/by-share-url":{"get":{"operationId":"Get Douyin Video Detail By Share URL","tags":["Douyin - Videos"],"summary":"Get a video by share URL","description":"Returns one public video from a Douyin share link, including a v.douyin.com short link. Use /videos/detail instead if you already have the `aweme_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://v.douyin.com/iRNBho6u/","description":"A Douyin share link, including a v.douyin.com short link. Use this when you do not have the video's numeric ID."},"required":true,"description":"A Douyin share link, including a v.douyin.com short link. Use this when you do not have the video's numeric ID.","name":"share_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_details":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_details"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_details":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/videos/statistics":{"get":{"operationId":"Get Douyin Video Statistics","tags":["Douyin - Videos"],"summary":"Get video statistics","description":"Returns like, play and share counts for comma-separated video ids — far cheaper than a full detail call when counters are all you need.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448118827402972455","description":"Comma-separated video ids. Returns like, play and share counts only."},"required":true,"description":"Comma-separated video ids. Returns like, play and share counts only.","name":"aweme_ids","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"statistics_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["statistics_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"statistics_list":[{"aweme_id":"7448118827402972455","digg_count":4561,"play_count":239473,"share_count":69}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/videos/play-url":{"get":{"operationId":"Get Douyin Video Play URL","tags":["Douyin - Videos"],"summary":"Get a video play URL","description":"Returns the best available play URL and file size for one video. Use `region` to pick the CDN region.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448118827402972455","description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link)."},"required":true,"description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link).","name":"aweme_id","in":"query"},{"schema":{"type":"string","example":"CN","description":"ISO country code selecting the CDN region Douyin returns (e.g. CN, US, HK)."},"required":false,"description":"ISO country code selecting the CDN region Douyin returns (e.g. CN, US, HK).","name":"region","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"video_id":{"type":"string"},"original_video_url":{"type":"string"}},"required":["video_id","original_video_url"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"video_id":"v0200fg10000...","original_video_url":"https://...","file_size_in_mb":12.3}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":8,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/videos/comments":{"get":{"operationId":"Get Douyin Video Comments","tags":["Douyin - Videos"],"summary":"List video comments","description":"Returns top-level comments on a video. Page with `cursor` from the previous response.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448118827402972455","description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link)."},"required":true,"description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link).","name":"aweme_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"default":20,"example":20,"description":"Number of comments; keep the default while paging."},"required":false,"description":"Number of comments; keep the default while paging.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["comments"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"comments":[{"cid":"7448331808838320959","text":"...","digg_count":12}],"cursor":20,"has_more":1,"total":233}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/videos/comments/replies":{"get":{"operationId":"Get Douyin Video Comment Replies","tags":["Douyin - Videos"],"summary":"List comment replies","description":"Returns replies to one comment. Requires both the `aweme_id` and the parent `comment_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448118827402972455","description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link)."},"required":true,"description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link).","name":"aweme_id","in":"query"},{"schema":{"type":"string","minLength":1,"example":"7448331808838320959","description":"Id of the parent comment to fetch replies for."},"required":true,"description":"Id of the parent comment to fetch replies for.","name":"comment_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"default":20,"example":20,"description":"Number of replies; keep the default while paging."},"required":false,"description":"Number of replies; keep the default while paging.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"comments":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["comments"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"comments":[{"cid":"7448340000000000000","text":"..."}],"total":13}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/videos/related":{"get":{"operationId":"Get Douyin Related Videos","tags":["Douyin - Videos"],"summary":"List related videos","description":"Returns the videos Douyin recommends alongside a given video.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448118827402972455","description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link)."},"required":true,"description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link).","name":"aweme_id","in":"query"},{"schema":{"type":"integer","minimum":1,"default":20,"example":20,"description":"Number of items to return; keep the default."},"required":false,"description":"Number of items to return; keep the default.","name":"count","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page index. Increment the previous value by 1 to request more results."},"required":false,"description":"Page index. Increment the previous value by 1 to request more results.","name":"refresh_index","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/videos/danmaku":{"get":{"operationId":"Get Douyin Video Danmaku","tags":["Douyin - Videos"],"summary":"List video danmaku","description":"Returns danmaku (floating comments) for a time window of one video. `duration` should be the video length in milliseconds from the video detail.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448118827402972455","description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link)."},"required":true,"description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link).","name":"aweme_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Total video length in milliseconds, as reported on the video detail."},"required":false,"description":"Total video length in milliseconds, as reported on the video detail.","name":"duration","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Start of the window to read danmaku from, in milliseconds."},"required":false,"description":"Start of the window to read danmaku from, in milliseconds.","name":"start_time","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"End of the window to read danmaku from, in milliseconds."},"required":false,"description":"End of the window to read danmaku from, in milliseconds.","name":"end_time","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"danmaku_list":{"type":"array","nullable":true,"items":{"nullable":true}},"total":{"type":"number"}},"required":["danmaku_list","total"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"danmaku_list":null,"total":7,"start_time":0}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/music/detail":{"get":{"operationId":"Get Douyin Music Detail","tags":["Douyin - Music"],"summary":"Get sound details","description":"Returns one Douyin sound. Accepts a `music_id` or a douyin.com/music/ URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448120087812262666","description":"Douyin music id, or a douyin.com/music/<id> URL."},"required":true,"description":"Douyin music id, or a douyin.com/music/<id> URL.","name":"music_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"music_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["music_info"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"music_info":{"id_str":"7448120087812262666","title":"...","duration":30}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/music/videos":{"get":{"operationId":"Get Douyin Music Videos","tags":["Douyin - Music"],"summary":"List sound videos","description":"Returns videos published with a given sound.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448120087812262666","description":"Douyin music id, or a douyin.com/music/<id> URL."},"required":true,"description":"Douyin music id, or a douyin.com/music/<id> URL.","name":"music_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Number of videos; keep the default while paging."},"required":false,"description":"Number of videos; keep the default while paging.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/hashtags/detail":{"get":{"operationId":"Get Douyin Hashtag Detail","tags":["Douyin - Hashtags"],"summary":"Get hashtag details","description":"Returns one hashtag (challenge). Accepts a `hashtag_id` or a douyin.com/hashtag/ URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"1684082100470791","description":"Douyin hashtag (challenge) id, or a douyin.com/hashtag/<id> URL."},"required":true,"description":"Douyin hashtag (challenge) id, or a douyin.com/hashtag/<id> URL.","name":"hashtag_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"ch_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["ch_info"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"ch_info":{"cha_name":"并发编程","cid":"1684082100470791","view_count":0}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/hashtags/videos":{"get":{"operationId":"Get Douyin Hashtag Videos","tags":["Douyin - Hashtags"],"summary":"List hashtag videos","description":"Returns videos tagged with a hashtag. Douyin returns these under `mix_list` (each entry wrapping an `aweme_info`) as well as `aweme_list`, so read both.","parameters":[{"schema":{"type":"string","minLength":1,"example":"1684082100470791","description":"Douyin hashtag (challenge) id, or a douyin.com/hashtag/<id> URL."},"required":true,"description":"Douyin hashtag (challenge) id, or a douyin.com/hashtag/<id> URL.","name":"hashtag_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Number of videos; keep the default while paging."},"required":false,"description":"Number of videos; keep the default while paging.","name":"count","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":2,"default":0,"example":0,"description":"0 comprehensive, 1 most liked, 2 most recent."},"required":false,"description":"0 comprehensive, 1 most liked, 2 most recent.","name":"sort_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[],"cursor":10,"has_more":1}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/collections/detail":{"get":{"operationId":"Get Douyin Collection Detail","tags":["Douyin - Collections"],"summary":"Get collection details","description":"Returns one collection (mix / 合集). Accepts a `collection_id` or a douyin.com/collection/ URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7384792941870450726","description":"Douyin collection (mix / 合集) id, or a douyin.com/collection/<id> URL."},"required":true,"description":"Douyin collection (mix / 合集) id, or a douyin.com/collection/<id> URL.","name":"collection_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"mix_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["mix_info"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"mix_info":{"mix_id":"7384792941870450726","mix_name":"..."}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/collections/videos":{"get":{"operationId":"Get Douyin Collection Videos","tags":["Douyin - Collections"],"summary":"List collection videos","description":"Returns the videos in a collection, in episode order.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7384792941870450726","description":"Douyin collection (mix / 合集) id, or a douyin.com/collection/<id> URL."},"required":true,"description":"Douyin collection (mix / 合集) id, or a douyin.com/collection/<id> URL.","name":"collection_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"default":20,"example":20,"description":"Number of videos; keep the default while paging."},"required":false,"description":"Number of videos; keep the default while paging.","name":"count","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/collections/series/detail":{"get":{"operationId":"Get Douyin Series Detail","tags":["Douyin - Collections"],"summary":"Get series details","description":"Returns one 短剧 series by `series_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7384792941870450726","description":"Douyin 短剧 id."},"required":true,"description":"Douyin 短剧 id.","name":"series_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"status_msg":""}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/collections/series/videos":{"get":{"operationId":"Get Douyin Series Videos","tags":["Douyin - Collections"],"summary":"List series episodes","description":"Returns the episodes of a 短剧 series.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7384792941870450726","description":"Douyin 短剧 id."},"required":true,"description":"Douyin 短剧 id.","name":"series_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search":{"get":{"operationId":"Search Douyin","tags":["Douyin - Search"],"summary":"Search all content","description":"Douyin's comprehensive search: mixed videos, accounts and hashtags for a keyword. Page by sending back both `cursor` and `search_id` from the previous response.","parameters":[{"schema":{"type":"string","minLength":1,"example":"猫咪","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["0","1","2"],"default":"0","description":"0 comprehensive, 1 most liked, 2 most recent."},"required":false,"description":"0 comprehensive, 1 most liked, 2 most recent.","name":"sort_type","in":"query"},{"schema":{"type":"string","enum":["0","1","7","180"],"default":"0","description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months."},"required":false,"description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months.","name":"publish_time","in":"query"},{"schema":{"type":"string","enum":["0","0-1","1-5","5-10000"],"default":"0","description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes."},"required":false,"description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes.","name":"filter_duration","in":"query"},{"schema":{"type":"string","enum":["0","1","2","3"],"default":"0","description":"0 any, 1 video, 2 image/text, 3 article."},"required":false,"description":"0 any, 1 video, 2 image/text, 3 article.","name":"content_type","in":"query"},{"schema":{"type":"string","example":"","description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page."},"required":false,"description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[{"type":1,"aweme_info":{"aweme_id":"7448118827402972455"}}],"cursor":10,"has_more":1}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/videos":{"get":{"operationId":"Search Douyin Videos","tags":["Douyin - Search"],"summary":"Search videos","description":"Returns videos matching a keyword, with sort, recency, duration and content-type filters.","parameters":[{"schema":{"type":"string","minLength":1,"example":"猫咪","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["0","1","2"],"default":"0","description":"0 comprehensive, 1 most liked, 2 most recent."},"required":false,"description":"0 comprehensive, 1 most liked, 2 most recent.","name":"sort_type","in":"query"},{"schema":{"type":"string","enum":["0","1","7","180"],"default":"0","description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months."},"required":false,"description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months.","name":"publish_time","in":"query"},{"schema":{"type":"string","enum":["0","0-1","1-5","5-10000"],"default":"0","description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes."},"required":false,"description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes.","name":"filter_duration","in":"query"},{"schema":{"type":"string","enum":["0","1","2","3"],"default":"0","description":"0 any, 1 video, 2 image/text, 3 article."},"required":false,"description":"0 any, 1 video, 2 image/text, 3 article.","name":"content_type","in":"query"},{"schema":{"type":"string","example":"","description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page."},"required":false,"description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}],"cursor":10,"has_more":1}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/users":{"get":{"operationId":"Search Douyin Users","tags":["Douyin - Search"],"summary":"Search profiles","description":"Returns accounts matching a keyword, optionally narrowed by follower band and account type.","parameters":[{"schema":{"type":"string","minLength":1,"example":"猫咪","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["","0_1k","1k_1w","1w_10w","10w_100w","100w_"],"description":"Restrict to accounts within a follower band."},"required":false,"description":"Restrict to accounts within a follower band.","name":"follower_range","in":"query"},{"schema":{"type":"string","enum":["","common_user","enterprise_user","personal_user"],"description":"Restrict to a Douyin account type."},"required":false,"description":"Restrict to a Douyin account type.","name":"user_type","in":"query"},{"schema":{"type":"string","example":"","description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page."},"required":false,"description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"user_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["user_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"user_list":[{"user_info":{"uid":"2557909361237356"}}],"cursor":10}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/hashtags":{"get":{"operationId":"Search Douyin Hashtags","tags":["Douyin - Search"],"summary":"Search hashtags","description":"Returns hashtags (challenges) matching a keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"猫咪","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["0","1","2"],"default":"0","description":"0 comprehensive, 1 most liked, 2 most recent."},"required":false,"description":"0 comprehensive, 1 most liked, 2 most recent.","name":"sort_type","in":"query"},{"schema":{"type":"string","enum":["0","1","7","180"],"default":"0","description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months."},"required":false,"description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months.","name":"publish_time","in":"query"},{"schema":{"type":"string","enum":["0","0-1","1-5","5-10000"],"default":"0","description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes."},"required":false,"description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes.","name":"filter_duration","in":"query"},{"schema":{"type":"string","enum":["0","1","2","3"],"default":"0","description":"0 any, 1 video, 2 image/text, 3 article."},"required":false,"description":"0 any, 1 video, 2 image/text, 3 article.","name":"content_type","in":"query"},{"schema":{"type":"string","example":"","description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page."},"required":false,"description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"challenge_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["challenge_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"challenge_list":[{"challenge_info":{"cid":"1684082100470791"}}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/images":{"get":{"operationId":"Search Douyin Images","tags":["Douyin - Search"],"summary":"Search image posts","description":"Returns image/text posts matching a keyword. Records arrive inside Douyin's own `business_data` envelope — no unwrapped version of this endpoint exists.","parameters":[{"schema":{"type":"string","minLength":1,"example":"猫咪","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"string","example":"","description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page."},"required":false,"description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"business_data":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["business_data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"business_data":[{"type":1}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/music":{"get":{"operationId":"Search Douyin Music","tags":["Douyin - Search"],"summary":"Search sounds","description":"Returns sounds matching a keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"猫咪","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["0","1","2"],"default":"0","description":"0 comprehensive, 1 most liked, 2 most recent."},"required":false,"description":"0 comprehensive, 1 most liked, 2 most recent.","name":"sort_type","in":"query"},{"schema":{"type":"string","enum":["0","1","7","180"],"default":"0","description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months."},"required":false,"description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months.","name":"publish_time","in":"query"},{"schema":{"type":"string","enum":["0","0-1","1-5","5-10000"],"default":"0","description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes."},"required":false,"description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes.","name":"filter_duration","in":"query"},{"schema":{"type":"string","enum":["0","1","2","3"],"default":"0","description":"0 any, 1 video, 2 image/text, 3 article."},"required":false,"description":"0 any, 1 video, 2 image/text, 3 article.","name":"content_type","in":"query"},{"schema":{"type":"string","example":"","description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page."},"required":false,"description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"music":[{"id_str":"7448120087812262666"}],"cursor":10}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/schools":{"get":{"operationId":"Search Douyin Schools","tags":["Douyin - Search"],"summary":"Search schools","description":"Returns schools matching a keyword, as used by Douyin's campus tagging.","parameters":[{"schema":{"type":"string","minLength":1,"example":"北京","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"schools":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["schools"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"schools":[{"name":"..."}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/discussions":{"get":{"operationId":"Search Douyin Discussions","tags":["Douyin - Search"],"summary":"Search discussions","description":"Returns discussion results for a keyword, inside Douyin's `business_data` envelope.","parameters":[{"schema":{"type":"string","minLength":1,"example":"猫咪","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["0","1","2"],"default":"0","description":"0 comprehensive, 1 most liked, 2 most recent."},"required":false,"description":"0 comprehensive, 1 most liked, 2 most recent.","name":"sort_type","in":"query"},{"schema":{"type":"string","enum":["0","1","7","180"],"default":"0","description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months."},"required":false,"description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months.","name":"publish_time","in":"query"},{"schema":{"type":"string","enum":["0","0-1","1-5","5-10000"],"default":"0","description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes."},"required":false,"description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes.","name":"filter_duration","in":"query"},{"schema":{"type":"string","enum":["0","1","2","3"],"default":"0","description":"0 any, 1 video, 2 image/text, 3 article."},"required":false,"description":"0 any, 1 video, 2 image/text, 3 article.","name":"content_type","in":"query"},{"schema":{"type":"string","example":"","description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page."},"required":false,"description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"business_data":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["business_data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"business_data":[{"type":1}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/experiences":{"get":{"operationId":"Search Douyin Experiences","tags":["Douyin - Search"],"summary":"Search experiences","description":"Returns 经验 results for a keyword, inside Douyin's `business_data` envelope.","parameters":[{"schema":{"type":"string","minLength":1,"example":"猫咪","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["0","1","2"],"default":"0","description":"0 comprehensive, 1 most liked, 2 most recent."},"required":false,"description":"0 comprehensive, 1 most liked, 2 most recent.","name":"sort_type","in":"query"},{"schema":{"type":"string","enum":["0","1","7","180"],"default":"0","description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months."},"required":false,"description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months.","name":"publish_time","in":"query"},{"schema":{"type":"string","enum":["0","0-1","1-5","5-10000"],"default":"0","description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes."},"required":false,"description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes.","name":"filter_duration","in":"query"},{"schema":{"type":"string","enum":["0","1","2","3"],"default":"0","description":"0 any, 1 video, 2 image/text, 3 article."},"required":false,"description":"0 any, 1 video, 2 image/text, 3 article.","name":"content_type","in":"query"},{"schema":{"type":"string","example":"","description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page."},"required":false,"description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"business_data":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["business_data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"business_data":[{"type":1}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/multi":{"get":{"operationId":"Search Douyin Multi","tags":["Douyin - Search"],"summary":"Search multiple content types","description":"Returns Douyin's multi-type search, an array of typed result blocks.","parameters":[{"schema":{"type":"string","minLength":1,"example":"猫咪","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"},{"schema":{"type":"string","enum":["0","1","2"],"default":"0","description":"0 comprehensive, 1 most liked, 2 most recent."},"required":false,"description":"0 comprehensive, 1 most liked, 2 most recent.","name":"sort_type","in":"query"},{"schema":{"type":"string","enum":["0","1","7","180"],"default":"0","description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months."},"required":false,"description":"Age of the post in days: 0 any time, 1 last day, 7 last week, 180 last six months.","name":"publish_time","in":"query"},{"schema":{"type":"string","enum":["0","0-1","1-5","5-10000"],"default":"0","description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes."},"required":false,"description":"Video length in minutes: 0 any, 0-1 under a minute, 1-5, 5-10000 over five minutes.","name":"filter_duration","in":"query"},{"schema":{"type":"string","enum":["0","1","2","3"],"default":"0","description":"0 any, 1 video, 2 image/text, 3 article."},"required":false,"description":"0 any, 1 video, 2 image/text, 3 article.","name":"content_type","in":"query"},{"schema":{"type":"string","example":"","description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page."},"required":false,"description":"Continuation token echoed from the previous search response. Send it together with `cursor` to page; omit for the first page.","name":"search_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":[{"type":1}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/suggestions":{"get":{"operationId":"Get Douyin Search Suggestions","tags":["Douyin - Search"],"summary":"Get search suggestions","description":"Returns Douyin's autocomplete suggestions for a keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"人工智能","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"sug_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["sug_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"sug_list":[{"content":"..."}],"rid":"..."}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/search/suggestions/hashtags":{"get":{"operationId":"Get Douyin Hashtag Suggestions","tags":["Douyin - Search"],"summary":"Get hashtag suggestions","description":"Returns suggested hashtags for a keyword.","parameters":[{"schema":{"type":"string","minLength":1,"example":"游戏","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"sug_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["sug_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"sug_list":[{"content":"..."}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":15,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/trends/hot-search":{"get":{"operationId":"Get Douyin Hot Search","tags":["Douyin - Trends"],"summary":"Get the hot search board","description":"Returns Douyin's in-app hot-search ranking. No query fields are required.","parameters":[{"schema":{"type":"string","enum":["0","2"],"default":"0","description":"0 the main hot-search board, 2 a sub-board."},"required":false,"description":"0 the main hot-search board, 2 a sub-board.","name":"board_type","in":"query"},{"schema":{"type":"string","example":"","description":"Sub-board id, only meaningful when board_type is 2."},"required":false,"description":"Sub-board id, only meaningful when board_type is 2.","name":"board_sub_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"word_list":[{"word":"...","hot_value":9876543,"position":1}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/trends/music":{"get":{"operationId":"Get Douyin Music Chart","tags":["Douyin - Trends"],"summary":"Get the music chart","description":"Returns Douyin's music chart. The entries are under `music_list`; `aweme_list` is empty on this endpoint.","parameters":[{"schema":{"type":"string","enum":["hot","rise","original"],"default":"hot","description":"Which music chart to read."},"required":false,"description":"Which music chart to read.","name":"chart_type","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"music_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["music_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"music_list":[{"music_info":{"id_str":"7448120087812262666"}}],"release_date":"2026-08-07"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/trends/brands/categories":{"get":{"operationId":"Get Douyin Brand Categories","tags":["Douyin - Trends"],"summary":"List brand categories","description":"Returns the categories of the brand board, whose ids feed /trends/brands.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"category_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["category_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"category_list":[{"id":10,"name":"汽车"},{"id":11,"name":"手机"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/trends/brands":{"get":{"operationId":"Get Douyin Brand Board","tags":["Douyin - Trends"],"summary":"Get the brand board","description":"Returns the ranked brands in one category of Douyin's brand board.","parameters":[{"schema":{"type":"string","minLength":1,"example":"10","description":"Brand category id, from the brand-categories endpoint."},"required":true,"description":"Brand category id, from the brand-categories endpoint.","name":"category_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"brand_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["brand_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"brand_list":[{"brand_name":"..."}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/hot":{"get":{"operationId":"Get Douyin Billboard Hot","tags":["Douyin - Billboard"],"summary":"Get the hot board","description":"Returns hot.douyin.com's main board, either as a point-in-time snapshot or aggregated over a date range.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"string","enum":["snapshot","range"],"default":"snapshot","description":"`snapshot` reads the board as it stood at one moment, `range` aggregates across a date range."},"required":false,"description":"`snapshot` reads the board as it stood at one moment, `range` aggregates across a date range.","name":"range_type","in":"query"},{"schema":{"type":"string","example":"20260809151500","description":"Moment to read the board at, as yyyyMMddHHmmss. Used when range_type is snapshot."},"required":false,"description":"Moment to read the board at, as yyyyMMddHHmmss. Used when range_type is snapshot.","name":"snapshot_time","in":"query"},{"schema":{"type":"string","example":"20260801","description":"Range start as yyyyMMdd. Used when range_type is range."},"required":false,"description":"Range start as yyyyMMdd. Used when range_type is range.","name":"start_date","in":"query"},{"schema":{"type":"string","example":"20260809","description":"Range end as yyyyMMdd. Used when range_type is range."},"required":false,"description":"Range end as yyyyMMdd. Used when range_type is range.","name":"end_date","in":"query"},{"schema":{"type":"string","example":"","description":"Comma-separated hot-topic category tags, from the billboard categories endpoint."},"required":false,"description":"Comma-separated hot-topic category tags, from the billboard categories endpoint.","name":"tag","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"hot_value":9876543,"title":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/rising":{"get":{"operationId":"Get Douyin Billboard Rising","tags":["Douyin - Billboard"],"summary":"Get the rising board","description":"Returns topics whose popularity is climbing fastest.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"string","enum":["rank","trending"],"default":"rank","description":"Sort by current rank or by movement."},"required":false,"description":"Sort by current rank or by movement.","name":"order","in":"query"},{"schema":{"type":"string","example":"","description":"City code from the billboard city-codes endpoint. Empty means nationwide."},"required":false,"description":"City code from the billboard city-codes endpoint. Empty means nationwide.","name":"city_code","in":"query"},{"schema":{"type":"string","example":"","description":"Comma-separated hot-topic category tags, from the billboard categories endpoint."},"required":false,"description":"Comma-separated hot-topic category tags, from the billboard categories endpoint.","name":"tag","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"title":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/city":{"get":{"operationId":"Get Douyin Billboard City","tags":["Douyin - Billboard"],"summary":"Get a city board","description":"Returns the local hot board. Pass `city_code` from /billboard/city-codes to narrow it.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"string","enum":["rank","trending"],"default":"rank","description":"Sort by current rank or by movement."},"required":false,"description":"Sort by current rank or by movement.","name":"order","in":"query"},{"schema":{"type":"string","example":"","description":"City code from the billboard city-codes endpoint. Empty means nationwide."},"required":false,"description":"City code from the billboard city-codes endpoint. Empty means nationwide.","name":"city_code","in":"query"},{"schema":{"type":"string","example":"","description":"Comma-separated hot-topic category tags, from the billboard categories endpoint."},"required":false,"description":"Comma-separated hot-topic category tags, from the billboard categories endpoint.","name":"tag","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"title":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/challenges":{"get":{"operationId":"Get Douyin Billboard Challenges","tags":["Douyin - Billboard"],"summary":"Get the challenge board","description":"Returns the ranked hashtag challenges.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"challenge_name":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/categories":{"get":{"operationId":"Get Douyin Billboard Categories","tags":["Douyin - Billboard"],"summary":"List board categories","description":"Returns the category tags for a board, for use as the `tag` filter elsewhere.","parameters":[{"schema":{"type":"string","enum":["total","city","rise"],"default":"total","description":"Which board's categories to list: total, city or rise. Note that `hot` is not accepted by Douyin."},"required":false,"description":"Which board's categories to list: total, city or rise. Note that `hot` is not accepted by Douyin.","name":"billboard_type","in":"query"},{"schema":{"type":"string","example":"","description":"Moment to read categories at, as yyyyMMddHHmmss."},"required":false,"description":"Moment to read categories at, as yyyyMMddHHmmss.","name":"snapshot_time","in":"query"},{"schema":{"type":"string","example":"","description":"Range start as yyyyMMdd."},"required":false,"description":"Range start as yyyyMMdd.","name":"start_date","in":"query"},{"schema":{"type":"string","example":"","description":"Range end as yyyyMMdd."},"required":false,"description":"Range end as yyyyMMdd.","name":"end_date","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[{"code":"...","name":"..."}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/city-codes":{"get":{"operationId":"Get Douyin Billboard City Codes","tags":["Douyin - Billboard"],"summary":"List city codes","description":"Returns the ~394 Chinese city codes accepted by the city board.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[{"code":"110000","name":"北京"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/content-tags":{"get":{"operationId":"Get Douyin Billboard Content Tags","tags":["Douyin - Billboard"],"summary":"List content tags","description":"Returns the vertical content tags used across the boards.","responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[{"code":"...","name":"..."}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/videos":{"get":{"operationId":"Get Douyin Billboard Videos","tags":["Douyin - Billboard"],"summary":"Get the video board","description":"Returns the ranked hot videos for a lookback window.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[1,24,72,168],"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","default":"1001","description":"Video board sub-type id."},"required":false,"description":"Video board sub-type id.","name":"sub_type","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"item_title":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/searches":{"get":{"operationId":"Get Douyin Billboard Searches","tags":["Douyin - Billboard"],"summary":"Get the search board","description":"Returns the ranked search terms for a lookback window.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[1,24,72,168],"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"query":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/topics":{"get":{"operationId":"Get Douyin Billboard Topics","tags":["Douyin - Billboard"],"summary":"Get the topic board","description":"Returns the ranked topics for a lookback window.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[1,24,72,168],"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"topic":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/words":{"get":{"operationId":"Get Douyin Billboard Words","tags":["Douyin - Billboard"],"summary":"List hot words","description":"Returns the hot content words for a lookback window.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[24,72,168],"description":"Lookback window in hours: 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"word":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/words/detail":{"get":{"operationId":"Get Douyin Billboard Word Detail","tags":["Douyin - Billboard"],"summary":"Get hot-word details","description":"Returns the detail behind one hot content word, for a given day.","parameters":[{"schema":{"type":"string","minLength":1,"example":"抖音","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Content-word id from the words list."},"required":true,"description":"Content-word id from the words list.","name":"word_id","in":"query"},{"schema":{"type":"string","minLength":1,"example":"20260809","description":"Day to read, as yyyyMMdd."},"required":true,"description":"Day to read, as yyyyMMdd.","name":"query_day","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"word":"..."}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/low-follower-hits":{"get":{"operationId":"Get Douyin Billboard Low Fan Hits","tags":["Douyin - Billboard"],"summary":"List low-follower hits","description":"Returns videos that went hot despite a small follower count (低粉爆款).","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[1,24,72,168],"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"item_title":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/high-like-rate":{"get":{"operationId":"Get Douyin Billboard High Like","tags":["Douyin - Billboard"],"summary":"List high-like-rate videos","description":"Returns videos ranked by like rate rather than raw likes.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[1,24,72,168],"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"item_title":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/high-follow-rate":{"get":{"operationId":"Get Douyin Billboard High Fan","tags":["Douyin - Billboard"],"summary":"List high-follow-rate videos","description":"Returns videos ranked by how many followers they won.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[1,24,72,168],"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"item_title":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/high-completion-rate":{"get":{"operationId":"Get Douyin Billboard High Play","tags":["Douyin - Billboard"],"summary":"List high-completion-rate videos","description":"Returns videos ranked by watch-through rate.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[1,24,72,168],"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"item_title":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/rising-searches":{"get":{"operationId":"Get Douyin Billboard Rising Searches","tags":["Douyin - Billboard"],"summary":"List rising searches","description":"Returns search terms whose volume is climbing fastest.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[1,24,72,168],"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"query":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/rising-topics":{"get":{"operationId":"Get Douyin Billboard Rising Topics","tags":["Douyin - Billboard"],"summary":"List rising topics","description":"Returns topics whose popularity is climbing fastest.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[1,24,72,168],"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 1 (hour), 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"topic":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/accounts":{"get":{"operationId":"Get Douyin Billboard Accounts","tags":["Douyin - Billboard"],"summary":"Get the account board","description":"Returns the ranked hot accounts for a lookback window.","parameters":[{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number starting at 1."},"required":false,"description":"Page number starting at 1.","name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Items per page."},"required":false,"description":"Items per page.","name":"page_size","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[24,72,168],"description":"Lookback window in hours: 24 (day), 72 (3 days) or 168 (7 days)."},"required":false,"description":"Lookback window in hours: 24 (day), 72 (3 days) or 168 (7 days).","name":"date_window","in":"query"},{"schema":{"type":"string","description":"Optional term to filter the list by."},"required":false,"description":"Optional term to filter the list by.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"nick_name":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/accounts/search":{"get":{"operationId":"Search Douyin Billboard Accounts","tags":["Douyin - Billboard"],"summary":"Search board accounts","description":"Finds accounts by nickname or Douyin handle, returning follower, like and publish counts.","parameters":[{"schema":{"type":"string","minLength":1,"example":"编程","description":"Search term."},"required":true,"description":"Search term.","name":"keyword","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page."},"required":false,"description":"Continuation cursor from the previous response (cursor/max_cursor). Omit or 0 for the first page.","name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"user_list":[{"nick_name":"编程导师菲菲","fans_cnt":1424741,"publish_cnt":1281}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/accounts/trends":{"get":{"operationId":"Get Douyin Billboard Account Trends","tags":["Douyin - Billboard"],"summary":"Get account trends","description":"Returns an account's follower series over a lookback window.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":10,"default":2,"example":2,"description":"Metric selector for the trend series."},"required":false,"description":"Metric selector for the trend series.","name":"option","in":"query"},{"schema":{"type":"integer","default":24,"example":24,"enum":[1,24],"description":"Sampling interval in hours: 1 (hourly) or 24 (daily)."},"required":false,"description":"Sampling interval in hours: 1 (hourly) or 24 (daily).","name":"date_window","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"date":"...","value":0}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/accounts/analysis":{"get":{"operationId":"Get Douyin Billboard Account Analysis","tags":["Douyin - Billboard"],"summary":"Get account analysis","description":"Returns last week's posting analysis for an account.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"publish_cnt":1281}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/accounts/audience":{"get":{"operationId":"Get Douyin Billboard Account Audience","tags":["Douyin - Billboard"],"summary":"Get an account audience","description":"Returns the demographic breakdown of an account's followers.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":10,"default":1,"example":1,"description":"Portrait dimension selector."},"required":false,"description":"Portrait dimension selector.","name":"option","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"gender":[],"age":[]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/accounts/audience/accounts":{"get":{"operationId":"Get Douyin Billboard Account Audience Accounts","tags":["Douyin - Billboard"],"summary":"List audience accounts","description":"Returns up to 20 other creators this account's followers are interested in.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[{"nick_name":"..."}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/accounts/audience/searches":{"get":{"operationId":"Get Douyin Billboard Account Audience Searches","tags":["Douyin - Billboard"],"summary":"List audience searches","description":"Returns up to 10 terms this account's followers searched in the last three days.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/accounts/audience/topics":{"get":{"operationId":"Get Douyin Billboard Account Audience Topics","tags":["Douyin - Billboard"],"summary":"List audience topics","description":"Returns up to 10 topics this account's followers engaged with in the last three days.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/calendar":{"get":{"operationId":"Get Douyin Billboard Calendar","tags":["Douyin - Billboard"],"summary":"List calendar events","description":"Returns Douyin's marketing event calendar for a date range, as Unix timestamps in seconds.","parameters":[{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Range start as a Unix timestamp in seconds."},"required":false,"description":"Range start as a Unix timestamp in seconds.","name":"start_date","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Range end as a Unix timestamp in seconds."},"required":false,"description":"Range end as a Unix timestamp in seconds.","name":"end_date","in":"query"},{"schema":{"type":"string","example":"","description":"City code, empty for nationwide."},"required":false,"description":"City code, empty for nationwide.","name":"city_code","in":"query"},{"schema":{"type":"string","example":"","description":"Event category code."},"required":false,"description":"Event category code.","name":"category_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[{"title":"..."}]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/calendar/detail":{"get":{"operationId":"Get Douyin Billboard Calendar Detail","tags":["Douyin - Billboard"],"summary":"Get a calendar event","description":"Returns one event from the marketing calendar.","parameters":[{"schema":{"type":"string","minLength":1,"example":"1","description":"Calendar event id."},"required":true,"description":"Calendar event id.","name":"calendar_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"title":"..."}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/videos/comment-words":{"get":{"operationId":"Get Douyin Billboard Video Comment Words","tags":["Douyin - Billboard"],"summary":"Get video comment keywords","description":"Returns the weighted comment word cloud for a video, as used by hot.douyin.com.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448118827402972455","description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link)."},"required":true,"description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link).","name":"aweme_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[{"word":"...","weight":0.1}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/videos/trends":{"get":{"operationId":"Get Douyin Billboard Video Trends","tags":["Douyin - Billboard"],"summary":"Get video trends","description":"Returns a video's metric series. Douyin serves this only for videos currently on a board and inside its viewable window; anything older returns an empty result.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448118827402972455","description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link)."},"required":true,"description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link).","name":"aweme_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":10,"default":7,"example":7,"description":"Metric selector for the trend series."},"required":false,"description":"Metric selector for the trend series.","name":"option","in":"query"},{"schema":{"type":"integer","default":1,"example":1,"enum":[1,2],"description":"Sampling selector: 1 (hourly) or 2 (daily)."},"required":false,"description":"Sampling selector: 1 (hourly) or 2 (daily).","name":"date_window","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"list":[]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/billboard/videos/audience":{"get":{"operationId":"Get Douyin Billboard Video Audience","tags":["Douyin - Billboard"],"summary":"Get a video audience","description":"Returns who liked a video, broken down demographically. Board-listed videos only, inside Douyin's viewable window.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7448118827402972455","description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link)."},"required":true,"description":"Douyin video id, or any douyin.com video URL (/video/, /note/, an iesdouyin share link, or a ?modal_id= link).","name":"aweme_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":10,"default":4,"example":4,"description":"Portrait dimension selector."},"required":false,"description":"Portrait dimension selector.","name":"option","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"gender":[],"age":[]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/feeds/home":{"get":{"operationId":"Get Douyin Home Feed","tags":["Douyin - Feeds"],"summary":"Get the home feed","description":"Returns Douyin's guest home feed.","parameters":[{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Number of items to return; keep the default."},"required":false,"description":"Number of items to return; keep the default.","name":"count","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"default":0,"example":0,"description":"Page index. Increment the previous value by 1 to request more results."},"required":false,"description":"Page index. Increment the previous value by 1 to request more results.","name":"refresh_index","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}],"has_more":1}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/feeds/channel":{"get":{"operationId":"Get Douyin Channel Feed","tags":["Douyin - Feeds"],"summary":"Get a channel feed","description":"Returns the recommendation feed for a channel `tag_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"300203","description":"Douyin channel tag id (e.g. 300203 for the food channel)."},"required":true,"description":"Douyin channel tag id (e.g. 300203 for the food channel).","name":"tag_id","in":"query"},{"schema":{"type":"integer","minimum":1,"default":10,"example":10,"description":"Number of items to return."},"required":false,"description":"Number of items to return.","name":"count","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page index. Increment the previous value by 1 to request more results."},"required":false,"description":"Page index. Increment the previous value by 1 to request more results.","name":"refresh_index","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/feeds/food":{"get":{"operationId":"Get Douyin Food Feed","tags":["Douyin - Feeds"],"summary":"Get the food feed","description":"Returns Douyin's food recommendation feed.","parameters":[{"schema":{"type":"integer","minimum":1,"default":16,"example":16,"description":"Number of items to return; the default is 16."},"required":false,"description":"Number of items to return; the default is 16.","name":"count","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page index. Increment the previous value by 1 to request more results."},"required":false,"description":"Page index. Increment the previous value by 1 to request more results.","name":"refresh_index","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/feeds/game":{"get":{"operationId":"Get Douyin Game Feed","tags":["Douyin - Feeds"],"summary":"Get the gaming feed","description":"Returns Douyin's gaming recommendation feed.","parameters":[{"schema":{"type":"integer","minimum":1,"default":16,"example":16,"description":"Number of items to return; the default is 16."},"required":false,"description":"Number of items to return; the default is 16.","name":"count","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page index. Increment the previous value by 1 to request more results."},"required":false,"description":"Page index. Increment the previous value by 1 to request more results.","name":"refresh_index","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/feeds/knowledge":{"get":{"operationId":"Get Douyin Knowledge Feed","tags":["Douyin - Feeds"],"summary":"Get the knowledge feed","description":"Returns Douyin's knowledge recommendation feed.","parameters":[{"schema":{"type":"integer","minimum":1,"default":16,"example":16,"description":"Number of items to return; the default is 16."},"required":false,"description":"Number of items to return; the default is 16.","name":"count","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page index. Increment the previous value by 1 to request more results."},"required":false,"description":"Page index. Increment the previous value by 1 to request more results.","name":"refresh_index","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/feeds/anime":{"get":{"operationId":"Get Douyin Anime Feed","tags":["Douyin - Feeds"],"summary":"Get the anime feed","description":"Returns Douyin's 二次元 recommendation feed.","parameters":[{"schema":{"type":"integer","minimum":1,"default":16,"example":16,"description":"Number of items to return; the default is 16."},"required":false,"description":"Number of items to return; the default is 16.","name":"count","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page index. Increment the previous value by 1 to request more results."},"required":false,"description":"Page index. Increment the previous value by 1 to request more results.","name":"refresh_index","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/feeds/music":{"get":{"operationId":"Get Douyin Music Feed","tags":["Douyin - Feeds"],"summary":"Get the music feed","description":"Returns Douyin's music recommendation feed.","parameters":[{"schema":{"type":"integer","minimum":1,"default":16,"example":16,"description":"Number of items to return; the default is 16."},"required":false,"description":"Number of items to return; the default is 16.","name":"count","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page index. Increment the previous value by 1 to request more results."},"required":false,"description":"Page index. Increment the previous value by 1 to request more results.","name":"refresh_index","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"aweme_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["aweme_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"aweme_list":[{"aweme_id":"7448118827402972455"}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/feeds/series":{"get":{"operationId":"Get Douyin Series Feed","tags":["Douyin - Feeds"],"summary":"Get the short-drama feed","description":"Returns Douyin's 短剧 feed as `card_list`. Page with `offset`.","parameters":[{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Row offset."},"required":false,"description":"Row offset.","name":"offset","in":"query"},{"schema":{"type":"integer","minimum":1,"default":16,"example":16,"description":"Number of items to return; the default is 16."},"required":false,"description":"Number of items to return; the default is 16.","name":"count","in":"query"},{"schema":{"type":"integer","nullable":true,"default":0,"example":0,"enum":[0,101,102,104,105,106,109,110,112,113,114,115,116,117,119,124],"description":"Series category: 0 hot, 101 sweet pet, 102 funny, 104 positive energy, 105 growth, 106 suspense, 109 family, 110 urban, 112 fantasy, 113 xuanhuan, 114 workplace, 115 youth, 116 historical costume, 117 action, 119 counterattack or 124 other."},"required":false,"description":"Series category: 0 hot, 101 sweet pet, 102 funny, 104 positive energy, 105 growth, 106 suspense, 109 family, 110 urban, 112 fantasy, 113 xuanhuan, 114 workplace, 115 youth, 116 historical costume, 117 action, 119 counterattack or 124 other.","name":"content_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"card_list":{"type":"array","nullable":true,"items":{"nullable":true}}},"required":["card_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"card_list":[{"title":"..."}],"offset":10,"has_more":1}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/live/status":{"get":{"operationId":"Get Douyin Live User Status","tags":["Douyin - Live"],"summary":"Get live status","description":"Returns a user's live status by numeric `uid`. `user_live` is empty when the account is not broadcasting.","parameters":[{"schema":{"type":"string","minLength":1,"example":"2557909361237356","description":"Douyin numeric user id."},"required":true,"description":"Douyin numeric user id.","name":"uid","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":[{"scene_id":253,"user_live":[]}]}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/live/room/by-user":{"get":{"operationId":"Get Douyin Live Room By User","tags":["Douyin - Live"],"summary":"Get a live room by user","description":"Returns the live room for a `sec_user_id`, including the stream URLs when the account is broadcasting.","parameters":[{"schema":{"type":"string","minLength":1,"example":"MS4wLjABAAAAY3J1P0y5w7hzttTyvZiLjhMu3iOzF-1yFi6yNtXVHzkmVGFIx7T8s-nRmGNusfh1","description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL."},"required":true,"description":"Douyin sec_user_id, or a douyin.com/user/<sec_user_id> profile URL.","name":"sec_user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"room":null}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/live/room/by-webcast-id":{"get":{"operationId":"Get Douyin Live Room By Webcast ID","tags":["Douyin - Live"],"summary":"Get a live room by webcast ID","description":"Returns a live room by `webcast_id`. Accepts a live.douyin.com/<webcast_id> URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"336916869560","description":"Douyin webcast id, or a live.douyin.com/<webcast_id> URL."},"required":true,"description":"Douyin webcast id, or a live.douyin.com/<webcast_id> URL.","name":"webcast_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"room":null}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/live/room/by-room-id":{"get":{"operationId":"Get Douyin Live Room By Room ID","tags":["Douyin - Live"],"summary":"Get a live room by room ID","description":"Returns a live room by its internal `room_id`, which differs from the webcast id in the URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7350000000000000000","description":"Douyin live room id."},"required":true,"description":"Douyin live room id.","name":"room_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"room":null}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/live/room-id":{"get":{"operationId":"Get Douyin Live Room ID","tags":["Douyin - Live"],"summary":"Resolve a live room ID","description":"Resolves the `webcast_id` in a live.douyin.com URL to the `room_id` other live endpoints require.","parameters":[{"schema":{"type":"string","minLength":1,"example":"336916869560","description":"Douyin webcast id, or a live.douyin.com/<webcast_id> URL."},"required":true,"description":"Douyin webcast id, or a live.douyin.com/<webcast_id> URL.","name":"webcast_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"room_id":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["room_id"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"room_id":"7350000000000000000"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/live/gift-ranking":{"get":{"operationId":"Get Douyin Live Gift Ranking","tags":["Douyin - Live"],"summary":"Get a gift ranking","description":"Returns the gift-giver ranking for a live room.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7350000000000000000","description":"Douyin live room id."},"required":true,"description":"Douyin live room id.","name":"room_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":100,"default":30,"example":30,"description":"Ranking board type."},"required":false,"description":"Ranking board type.","name":"rank_type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"ranks":[]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/douyin/live/products":{"get":{"operationId":"Get Douyin Live Room Products","tags":["Douyin - Live"],"summary":"List live room products","description":"Returns the products on sale in a live room. Requires both the `room_id` and the host's `author_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"7350000000000000000","description":"Douyin live room id."},"required":true,"description":"Douyin live room id.","name":"room_id","in":"query"},{"schema":{"type":"string","minLength":1,"example":"2557909361237356","description":"Numeric user id of the room's host."},"required":true,"description":"Numeric user id of the room's host.","name":"author_id","in":"query"},{"schema":{"type":"integer","nullable":true,"minimum":0,"maximum":9007199254740991,"default":0,"example":0,"description":"Row offset."},"required":false,"description":"Row offset.","name":"offset","in":"query"},{"schema":{"type":"integer","minimum":1,"default":20,"example":20,"description":"Number of products to return."},"required":false,"description":"Number of products to return.","name":"limit","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"nullable":true}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]},"example":{"data":{"data":{"promotions":[]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":2,"x-audience":"customer","x-status":"live","x-product":"douyin","x-toolzer-verified":false}},"/v2/youtube/channel/about":{"get":{"operationId":"Get YouTube Channel About","tags":["YouTube - Channel"],"summary":"Get channel profile","description":"Returns a channel's About information. Provide `channel_id` or `channel_username`; optional region and language fields localize the response.","parameters":[{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"YouTube channel ID."},"required":false,"description":"YouTube channel ID.","name":"channel_id","in":"query"},{"schema":{"type":"string","example":"GoogleDevelopers","description":"Channel username to use when a channel ID is unavailable."},"required":false,"description":"Channel username to use when a channel ID is unavailable.","name":"channel_username","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"channelId":{"type":"string"},"title":{"type":"string"}},"required":["channelId","title"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/channel/community":{"get":{"operationId":"Get YouTube Channel Community","tags":["YouTube - Channel"],"summary":"List channel community posts","description":"Returns community posts and channel details for required `channel_id`. Optional region, language, and `page_cursor` control results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"YouTube channel ID."},"required":true,"description":"YouTube channel ID.","name":"channel_id","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"channelId":{"type":"string"},"title":{"type":"string"}},"required":["channelId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/channel/featured":{"get":{"operationId":"Get YouTube Channel Featured","tags":["YouTube - Channel"],"summary":"List featured channels","description":"Returns channels featured by a channel. Provide `channel_id` or `channel_username`; optional region, language, and `page_cursor` control results.","parameters":[{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"YouTube channel ID."},"required":false,"description":"YouTube channel ID.","name":"channel_id","in":"query"},{"schema":{"type":"string","example":"GoogleDevelopers","description":"Channel username to use when a channel ID is unavailable."},"required":false,"description":"Channel username to use when a channel ID is unavailable.","name":"channel_username","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"channelId":{"type":"string"},"title":{"type":"string"}},"required":["channelId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/channel/home":{"get":{"operationId":"Get YouTube Channel Home","tags":["YouTube - Channel"],"summary":"List channel home sections","description":"Returns listings from a channel's Home tab. Provide `channel_id` or `channel_username`; optional region, language, and `page_cursor` control results.","parameters":[{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"YouTube channel ID."},"required":false,"description":"YouTube channel ID.","name":"channel_id","in":"query"},{"schema":{"type":"string","example":"GoogleDevelopers","description":"Channel username to use when a channel ID is unavailable."},"required":false,"description":"Channel username to use when a channel ID is unavailable.","name":"channel_username","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"channelId":{"type":"string"},"title":{"type":"string"}},"required":["channelId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/channel/live-streams":{"get":{"operationId":"Get YouTube Channel Live Streams","tags":["YouTube - Channel"],"summary":"List channel live streams","description":"Returns a channel's live streams. Provide `channel_id` or `channel_username`; optional localization, ordering, and pagination fields control results.","parameters":[{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"YouTube channel ID."},"required":false,"description":"YouTube channel ID.","name":"channel_id","in":"query"},{"schema":{"type":"string","example":"GoogleDevelopers","description":"Channel username to use when a channel ID is unavailable."},"required":false,"description":"Channel username to use when a channel ID is unavailable.","name":"channel_username","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"},{"schema":{"type":"string","enum":["newest","popular","oldest"],"example":"newest","description":"Result order. Available values: newest, popular, oldest."},"required":false,"description":"Result order. Available values: newest, popular, oldest.","name":"sort_order","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"channelId":{"type":"string"},"title":{"type":"string"}},"required":["channelId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/channel/playlists":{"get":{"operationId":"Get YouTube Channel Playlists","tags":["YouTube - Channel"],"summary":"List channel playlists","description":"Returns a channel's playlists and channel details. Provide `channel_id` or `channel_username`; optional localization, ordering, and pagination fields control results.","parameters":[{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"YouTube channel ID."},"required":false,"description":"YouTube channel ID.","name":"channel_id","in":"query"},{"schema":{"type":"string","example":"GoogleDevelopers","description":"Channel username to use when a channel ID is unavailable."},"required":false,"description":"Channel username to use when a channel ID is unavailable.","name":"channel_username","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"},{"schema":{"type":"string","enum":["date_added","last_video_added"],"example":"date_added","description":"Result order. Available values: date_added, last_video_added."},"required":false,"description":"Result order. Available values: date_added, last_video_added.","name":"sort_order","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"channelId":{"type":"string"},"title":{"type":"string"}},"required":["channelId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/channel/shorts":{"get":{"operationId":"Get YouTube Channel Shorts","tags":["YouTube - Channel"],"summary":"List channel Shorts","description":"Returns a channel's Shorts. Provide `channel_id` or `channel_username`; optional localization, ordering, and pagination fields control results.","parameters":[{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"YouTube channel ID."},"required":false,"description":"YouTube channel ID.","name":"channel_id","in":"query"},{"schema":{"type":"string","example":"GoogleDevelopers","description":"Channel username to use when a channel ID is unavailable."},"required":false,"description":"Channel username to use when a channel ID is unavailable.","name":"channel_username","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"},{"schema":{"type":"string","enum":["newest","oldest","popular"],"example":"newest","description":"Result order. Available values: newest, oldest, popular."},"required":false,"description":"Result order. Available values: newest, oldest, popular.","name":"sort_order","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"channelId":{"type":"string"},"title":{"type":"string"}},"required":["channelId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/channel/store":{"get":{"operationId":"Get YouTube Channel Store","tags":["YouTube - Channel"],"summary":"List channel store products","description":"Returns products from a channel's Store tab. Provide `channel_id` or `channel_username`; optional region, language, and `page_cursor` control results.","parameters":[{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"YouTube channel ID."},"required":false,"description":"YouTube channel ID.","name":"channel_id","in":"query"},{"schema":{"type":"string","example":"GoogleDevelopers","description":"Channel username to use when a channel ID is unavailable."},"required":false,"description":"Channel username to use when a channel ID is unavailable.","name":"channel_username","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"channelId":{"type":"string"},"title":{"type":"string"}},"required":["channelId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/channel/videos":{"get":{"operationId":"Get YouTube Channel Videos","tags":["YouTube - Channel"],"summary":"List channel videos","description":"Returns a channel's videos. Provide `channel_id` or `channel_username`; optional localization, ordering, and pagination fields control results.","parameters":[{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"YouTube channel ID."},"required":false,"description":"YouTube channel ID.","name":"channel_id","in":"query"},{"schema":{"type":"string","example":"GoogleDevelopers","description":"Channel username to use when a channel ID is unavailable."},"required":false,"description":"Channel username to use when a channel ID is unavailable.","name":"channel_username","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"},{"schema":{"type":"string","enum":["newest","oldest","popular"],"example":"newest","description":"Result order. Available values: newest, oldest, popular."},"required":false,"description":"Result order. Available values: newest, oldest, popular.","name":"sort_order","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"channelId":{"type":"string"},"title":{"type":"string"}},"required":["channelId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/comments":{"get":{"operationId":"Get YouTube Comments","tags":["YouTube - Video"],"summary":"List video comments","description":"Returns comments for required `video_reference`. Optional region, language, ordering, and `page_cursor` control results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"M7lc1UVf-VE","description":"YouTube video ID or a full watch, youtu.be, Shorts, or embed URL."},"required":true,"description":"YouTube video ID or a full watch, youtu.be, Shorts, or embed URL.","name":"video_reference","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","enum":["top","newest"],"example":"top","description":"Result order. Available values: top, newest."},"required":false,"description":"Result order. Available values: top, newest.","name":"sort_order","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"commentsCount":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/subtitle":{"get":{"operationId":"Get YouTube Subtitle Track","tags":["YouTube - Video"],"summary":"Get caption track","description":"Returns one caption track from required `caption_source`. Optional `caption_style` controls formatting and `translation_code` requests a translation.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.youtube.com/api/timedtext?v=M7lc1UVf-VE&lang=en","description":"Caption track URL returned by the subtitles or video-details endpoint."},"required":true,"description":"Caption track URL returned by the subtitles or video-details endpoint.","name":"caption_source","in":"query"},{"schema":{"type":"string","enum":["json3","srv1","srv2","srv3","ttml","vtt","srt"],"example":"vtt","description":"Caption output style. Defaults to srv1 when omitted."},"required":false,"description":"Caption output style. Defaults to srv1 when omitted.","name":"caption_style","in":"query"},{"schema":{"type":"string","example":"fr","description":"Language code to translate the caption track into."},"required":false,"description":"Language code to translate the caption track into.","name":"translation_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"string","nullable":true},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/download":{"get":{"operationId":"Get YouTube Download Streams","tags":["YouTube - Video"],"summary":"List download streams","description":"Returns stream metadata and available media links for required `video_reference` and `viewer_region`. Optional `language_code` localizes metadata.","parameters":[{"schema":{"type":"string","minLength":1,"example":"M7lc1UVf-VE","description":"YouTube video ID or a full watch, youtu.be, Shorts, or embed URL."},"required":true,"description":"YouTube video ID or a full watch, youtu.be, Shorts, or embed URL.","name":"video_reference","in":"query"},{"schema":{"type":"string","minLength":1,"example":"SG","description":"Two-letter country code of the person who will use the returned stream links."},"required":true,"description":"Two-letter country code of the person who will use the returned stream links.","name":"viewer_region","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"status":{"type":"string"},"id":{"type":"string"},"title":{"type":"string"},"formats":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"default":[]},"adaptiveFormats":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"required":["status","id","title","adaptiveFormats"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/hashtag":{"get":{"operationId":"Get YouTube Hashtag Videos","tags":["YouTube - Search"],"summary":"List hashtag videos","description":"Returns videos and Shorts for required `hashtag`. Optional fields select content kind, localization, and pagination with `page_cursor`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"wildlifefilmmaking","description":"Hashtag text without the # prefix."},"required":true,"description":"Hashtag text without the # prefix.","name":"hashtag","in":"query"},{"schema":{"type":"string","enum":["all","shorts"],"example":"all","description":"Return all matching videos or only Shorts."},"required":false,"description":"Return all matching videos or only Shorts.","name":"content_kind","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"hashtag":{"type":"string"}},"required":["hashtag"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/home":{"get":{"operationId":"Get YouTube Home Feed","tags":["YouTube - Search"],"summary":"Get home feed","description":"Returns home-feed listings. No query field is required; optional region, language, and `page_cursor` control results.","parameters":[{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"filters":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/hype":{"get":{"operationId":"Get YouTube Hype","tags":["YouTube - Search"],"summary":"List Hype videos","description":"Returns Hype videos. No query field is required; optional region, language, and `page_cursor` control results.","parameters":[{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"filters":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/playlist":{"get":{"operationId":"Get YouTube Playlist","tags":["YouTube - Playlist"],"summary":"Get playlist","description":"Returns playlist metadata and videos for required `playlist_id`. Optional region, language, and `page_cursor` control results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"PL590L5WQmH8fJ54F369BLDSqIwcs-TCfs","description":"YouTube playlist ID."},"required":true,"description":"YouTube playlist ID.","name":"playlist_id","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"playlistId":{"type":"string"},"title":{"type":"string"}},"required":["playlistId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/post/comments":{"get":{"operationId":"Get YouTube Post Comments","tags":["YouTube - Post"],"summary":"List community post comments","description":"Returns comments for required `post_id`. Optional owner channel, localization, ordering, and `page_cursor` control results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"UgkxR2xM8QJQexample","description":"YouTube community post ID."},"required":true,"description":"YouTube community post ID.","name":"post_id","in":"query"},{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"Channel ID that owns the community post."},"required":false,"description":"Channel ID that owns the community post.","name":"owner_channel","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","enum":["top","newest"],"example":"top","description":"Result order. Available values: top, newest."},"required":false,"description":"Result order. Available values: top, newest.","name":"sort_order","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"commentsCount":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/post":{"get":{"operationId":"Get YouTube Post Details","tags":["YouTube - Post"],"summary":"Get community post","description":"Returns one community post. Requires `post_id`; optional `owner_channel`, region, and language fields refine the response.","parameters":[{"schema":{"type":"string","minLength":1,"example":"UgkxR2xM8QJQexample","description":"YouTube community post ID."},"required":true,"description":"YouTube community post ID.","name":"post_id","in":"query"},{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"Channel ID that owns the community post."},"required":false,"description":"Channel ID that owns the community post.","name":"owner_channel","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"postId":{"type":"string"}},"required":["postId"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/suggestions":{"get":{"operationId":"Get YouTube Query Suggestions","tags":["YouTube - Search"],"summary":"Search suggestions","description":"Returns autocomplete suggestions for required `search_term`. Optional region and language fields localize results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"how to photograph the moon","description":"Partial search text to complete."},"required":true,"description":"Partial search text to complete.","name":"search_term","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"search_term":{"type":"string"},"suggestions":{"type":"array","items":{"type":"string"}}},"required":["search_term","suggestions"]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/related":{"get":{"operationId":"Get YouTube Related","tags":["YouTube - Video"],"summary":"List related videos","description":"Returns videos and playlists related to required `video_reference`. Optional localization and `page_cursor` control results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"M7lc1UVf-VE","description":"YouTube video ID or a full watch, youtu.be, Shorts, or embed URL."},"required":true,"description":"YouTube video ID or a full watch, youtu.be, Shorts, or embed URL.","name":"video_reference","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"videoId":{"type":"string"}},"required":["videoId"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/resolve":{"get":{"operationId":"Resolve YouTube URL","tags":["YouTube - URL Helper"],"summary":"Resolve YouTube URL","description":"Returns canonical identifiers represented by required `youtube_url`, including supported channel, video, Shorts, playlist, and post URLs.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.youtube.com/@GoogleDevelopers","description":"YouTube handle, channel, video, Shorts, or playlist URL to resolve."},"required":true,"description":"YouTube handle, channel, video, Shorts, or playlist URL to resolve.","name":"youtube_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"webPageType":{"type":"string"},"browseId":{"type":"string"}},"required":["webPageType","browseId"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/search":{"get":{"operationId":"Search YouTube","tags":["YouTube - Search"],"summary":"Search","description":"Returns results matching required `search_term`. Optional fields select result type, duration, features, publication window, ordering, localization, and pagination.","parameters":[{"schema":{"type":"string","minLength":1,"example":"beginner astrophotography","description":"Text to search for."},"required":true,"description":"Text to search for.","name":"search_term","in":"query"},{"schema":{"type":"string","enum":["video","channel","playlist","movie","shorts"],"example":"video","description":"Limit results to one content kind."},"required":false,"description":"Limit results to one content kind.","name":"result_kind","in":"query"},{"schema":{"type":"string","enum":["under_3_minutes","between_3_and_20_minutes","over_20_minutes"],"example":"between_3_and_20_minutes","description":"Filter videos by duration."},"required":false,"description":"Filter videos by duration.","name":"length_filter","in":"query"},{"schema":{"type":"array","items":{"type":"string","enum":["360","hd","subtitles","creative_commons","3d","live","purchased","4k","location","hdr","vr180"]},"example":["hd","subtitles"],"description":"Comma-separated video features that every result must have."},"required":false,"description":"Comma-separated video features that every result must have.","name":"feature_filters","in":"query","style":"form","explode":false},{"schema":{"type":"string","enum":["today","week","month","year"],"example":"month","description":"Restrict results by upload period."},"required":false,"description":"Restrict results by upload period.","name":"published_within","in":"query"},{"schema":{"type":"string","enum":["relevance","popularity"],"example":"relevance","description":"Result order. Available values: relevance, popularity."},"required":false,"description":"Result order. Available values: relevance, popularity.","name":"sort_order","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"estimatedResults":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/channel/search":{"get":{"operationId":"Search YouTube Channel","tags":["YouTube - Channel"],"summary":"Search channel","description":"Returns channel videos and playlists matching required `search_term`. Provide `channel_id` or `channel_username`; optional localization and `page_cursor` control results.","parameters":[{"schema":{"type":"string","example":"UC_x5XG1OV2P6uZZ5FSM9Ttw","description":"YouTube channel ID."},"required":false,"description":"YouTube channel ID.","name":"channel_id","in":"query"},{"schema":{"type":"string","example":"GoogleDevelopers","description":"Channel username to use when a channel ID is unavailable."},"required":false,"description":"Channel username to use when a channel ID is unavailable.","name":"channel_username","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"},{"schema":{"type":"string","minLength":1,"example":"conference keynote","description":"Text to search for within the channel."},"required":true,"description":"Text to search for within the channel.","name":"search_term","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"channelId":{"type":"string"},"title":{"type":"string"}},"required":["channelId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/shorts":{"get":{"operationId":"Get YouTube Shorts Details","tags":["YouTube - Shorts"],"summary":"Get Shorts details","description":"Returns one Short and its metadata. Requires `shorts_reference`; optional region and language fields localize the response.","parameters":[{"schema":{"type":"string","minLength":1,"example":"jNQXAC9IVRw","description":"YouTube Shorts ID."},"required":true,"description":"YouTube Shorts ID.","name":"shorts_reference","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"videoId":{"type":"string"},"title":{"type":"string"}},"required":["videoId","title"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/shorts/sound":{"get":{"operationId":"Get YouTube Shorts Sound","tags":["YouTube - Shorts"],"summary":"List Shorts by sound","description":"Returns Shorts attributed to the sound from required `shorts_reference`. Optional localization and `page_cursor` control results.","parameters":[{"schema":{"type":"string","minLength":1,"example":"jNQXAC9IVRw","description":"YouTube Shorts ID."},"required":true,"description":"YouTube Shorts ID.","name":"shorts_reference","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"},{"schema":{"type":"string","example":"NEXT_PAGE_CURSOR","description":"Cursor returned by the previous response."},"required":false,"description":"Cursor returned by the previous response.","name":"page_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"},"meta":{"type":"object","properties":{"videoId":{"type":"string"},"title":{"type":"string"}},"required":["videoId","title"],"additionalProperties":{"nullable":true}}},"required":["data","meta"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/subtitles":{"get":{"operationId":"Get YouTube Subtitles","tags":["YouTube - Video"],"summary":"List caption tracks","description":"Returns caption tracks for required `video_reference`. Optional `caption_style` and `language_code` control formatting and language.","parameters":[{"schema":{"type":"string","minLength":1,"example":"M7lc1UVf-VE","description":"YouTube video ID or a full watch, youtu.be, Shorts, or embed URL."},"required":true,"description":"YouTube video ID or a full watch, youtu.be, Shorts, or embed URL.","name":"video_reference","in":"query"},{"schema":{"type":"string","enum":["json3","srv1","srv2","srv3","ttml","vtt","srt"],"example":"vtt","description":"Caption output style. Defaults to srv1 when omitted."},"required":false,"description":"Caption output style. Defaults to srv1 when omitted.","name":"caption_style","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"subtitles":{"type":"array","items":{"type":"object","properties":{"languageName":{"type":"string"},"languageCode":{"type":"string"},"url":{"type":"string"},"isTranslatable":{"type":"boolean"}},"required":["languageName","languageCode","url","isTranslatable"],"additionalProperties":{"nullable":true}}},"translationLanguages":{"type":"array","items":{"type":"object","properties":{"languageCode":{"type":"string"},"languageName":{"type":"string"}},"required":["languageCode","languageName"],"additionalProperties":{"nullable":true}}}},"required":["subtitles"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/transcript":{"get":{"operationId":"Get YouTube Transcript","tags":["YouTube - Video"],"summary":"Get transcript","description":"Returns timed transcript segments for required `video_reference`. Optional `language_code` selects the transcript language.","parameters":[{"schema":{"type":"string","minLength":1,"example":"M7lc1UVf-VE","description":"YouTube video ID or a full watch, youtu.be, Shorts, or embed URL."},"required":true,"description":"YouTube video ID or a full watch, youtu.be, Shorts, or embed URL.","name":"video_reference","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"id":{"type":"string"},"transcript":{"type":"array","items":{"type":"object","properties":{"startMs":{"type":"string"},"endMs":{"type":"string"},"startTime":{"type":"string"},"text":{"type":"string"}},"required":["startMs","endMs","startTime","text"],"additionalProperties":{"nullable":true}}}},"required":["id","transcript"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/trending":{"get":{"operationId":"Get YouTube Trending","tags":["YouTube - Search"],"summary":"List trending videos","description":"Returns the trending chart for required `region_code`. Optional `trend_category` and `language_code` select the category and language.","parameters":[{"schema":{"type":"string","minLength":1,"example":"AU","description":"Two-letter country code used to localize the results."},"required":true,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","enum":["now","music","games","movies"],"example":"music","description":"Trending chart category."},"required":false,"description":"Trending chart category.","name":"trend_category","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"data":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_cursor":{"type":"string"}},"required":["data"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/youtube/video":{"get":{"operationId":"Get YouTube Video Details","tags":["YouTube - Video"],"summary":"Get video details","description":"Returns metadata for one or more required comma-separated `video_references`. Optional region and language fields localize the response.","parameters":[{"schema":{"type":"string","minLength":1,"example":"M7lc1UVf-VE,jNQXAC9IVRw","description":"One video ID or URL, or multiple comma-separated video IDs."},"required":true,"description":"One video ID or URL, or multiple comma-separated video IDs.","name":"video_references","in":"query"},{"schema":{"type":"string","example":"AU","description":"Two-letter country code used to localize the results."},"required":false,"description":"Two-letter country code used to localize the results.","name":"region_code","in":"query"},{"schema":{"type":"string","example":"es","description":"Language code used to localize text and audio results."},"required":false,"description":"Language code used to localize text and audio results.","name":"language_code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"channelId":{"type":"string"}},"required":["id","title","channelId"],"additionalProperties":{"nullable":true}},{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"channelId":{"type":"string"}},"required":["id","title","channelId"],"additionalProperties":{"nullable":true}}},{"nullable":true}]},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":1,"x-audience":"customer","x-status":"live","x-product":"youtube","x-toolzer-verified":false}},"/v2/jobs/search":{"get":{"operationId":"Search Jobs","tags":["Jobs"],"summary":"Search jobs","description":"Returns job postings matching required `keyword`, which may name a role, a role and a place, or a company. Filter with `posted_within`, `remote_only`, `employment_type`, `requirement` and `radius_km`; walk results one page at a time with `page`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"python developer in new york","description":"What to search for. Free text — a role, a role plus a place, or a company name."},"required":true,"description":"What to search for. Free text — a role, a role plus a place, or a company name.","name":"keyword","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":2,"default":"us","example":"us","description":"Two-letter ISO country code to search within."},"required":false,"description":"Two-letter ISO country code to search within.","name":"country","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":5,"example":"en","description":"Language code for the returned listings."},"required":false,"description":"Language code for the returned listings.","name":"language","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":1,"example":1,"description":"Result page to return, 1-50."},"required":false,"description":"Result page to return, 1-50.","name":"page","in":"query"},{"schema":{"type":"string","enum":["any","today","3_days","week","month"],"default":"any","example":"week","description":"Only return listings first posted within this window."},"required":false,"description":"Only return listings first posted within this window.","name":"posted_within","in":"query"},{"schema":{"type":"boolean","nullable":true,"default":false,"example":true,"description":"Restrict results to work-from-home listings."},"required":false,"description":"Restrict results to work-from-home listings.","name":"remote_only","in":"query"},{"schema":{"type":"string","enum":["full_time","part_time","contract","internship"],"example":"full_time","description":"Restrict results to one kind of engagement."},"required":false,"description":"Restrict results to one kind of engagement.","name":"employment_type","in":"query"},{"schema":{"type":"string","enum":["no_experience","under_3_years","over_3_years","no_degree_required"],"example":"under_3_years","description":"Restrict results by what the posting asks of a candidate."},"required":false,"description":"Restrict results by what the posting asks of a candidate.","name":"requirement","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":500,"example":50,"description":"Search radius in kilometres around the place named in `keyword`."},"required":false,"description":"Search radius in kilometres around the place named in `keyword`.","name":"radius_km","in":"query"},{"schema":{"type":"string","example":"BeeBe,Dice","description":"Comma-separated job boards to drop from the results, by publisher name."},"required":false,"description":"Comma-separated job boards to drop from the results, by publisher name.","name":"exclude_boards","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","properties":{"id":{"type":"string","nullable":true},"short_id":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"employment_type":{"type":"string","nullable":true},"employment_types":{"type":"array","items":{"type":"string"}},"is_remote":{"type":"boolean"},"company":{"type":"object","properties":{"name":{"type":"string","nullable":true},"logo":{"type":"string","nullable":true},"website":{"type":"string","nullable":true},"reviews":{"type":"array","items":{"type":"object","properties":{"board":{"type":"string","nullable":true},"score":{"type":"number","nullable":true},"max_score":{"type":"number","nullable":true},"review_count":{"type":"number","nullable":true},"url":{"type":"string","nullable":true}},"required":["board","score","max_score","review_count","url"]}}},"required":["name","logo","website","reviews"]},"location":{"type":"object","properties":{"text":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"country":{"type":"string","nullable":true},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true}},"required":["text","city","state","country","latitude","longitude"]},"salary":{"type":"object","nullable":true,"properties":{"text":{"type":"string","nullable":true},"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"period":{"type":"string","nullable":true}},"required":["text","min","max","period"]},"posted":{"type":"object","properties":{"text":{"type":"string","nullable":true},"at":{"type":"string","nullable":true},"timestamp":{"type":"number","nullable":true}},"required":["text","at","timestamp"]},"apply":{"type":"object","properties":{"url":{"type":"string","nullable":true},"is_direct":{"type":"boolean"},"options":{"type":"array","items":{"type":"object","properties":{"board":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"is_direct":{"type":"boolean"}},"required":["board","url","is_direct"]}}},"required":["url","is_direct","options"]},"source_board":{"type":"string","nullable":true},"benefits":{"type":"array","nullable":true,"items":{"type":"string"}},"highlights":{"type":"object","nullable":true,"additionalProperties":{"type":"array","items":{"type":"string"}}},"insights":{"type":"object","nullable":true,"properties":{"work_arrangement":{"type":"string","nullable":true},"seniority":{"type":"string","nullable":true},"experience_years_required":{"type":"number","nullable":true},"education":{"type":"object","properties":{"level":{"type":"string","nullable":true},"field":{"type":"string","nullable":true}},"required":["level","field"]},"visa_sponsorship":{"type":"boolean","nullable":true},"relocation_required":{"type":"boolean","nullable":true},"relocation_assistance":{"type":"boolean","nullable":true},"contract_duration":{"type":"string","nullable":true},"start_date":{"type":"string","nullable":true},"technologies":{"type":"object","properties":{"required":{"type":"array","items":{"type":"string"}},"preferred":{"type":"array","items":{"type":"string"}}},"required":["required","preferred"]},"methodologies":{"type":"array","items":{"type":"string"}},"soft_skills":{"type":"array","items":{"type":"string"}},"extended_benefits":{"type":"array","items":{"type":"string"}},"industry":{"type":"string","nullable":true},"job_function":{"type":"string","nullable":true},"is_management":{"type":"boolean","nullable":true},"involves_ai_ml":{"type":"boolean","nullable":true}},"required":["work_arrangement","seniority","experience_years_required","education","visa_sponsorship","relocation_required","relocation_assistance","contract_duration","start_date","technologies","methodologies","soft_skills","extended_benefits","industry","job_function","is_management","involves_ai_ml"]}},"required":["id","short_id","title","description","employment_type","employment_types","is_remote","company","location","salary","posted","apply","source_board","benefits","highlights","insights"]}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":4,"x-audience":"customer","x-status":"live","x-product":"jobs","x-toolzer-verified":false}},"/v2/jobs/detail":{"get":{"operationId":"Get Job Details","tags":["Jobs"],"summary":"Get job details","description":"Returns the full posting for each required `job_id` taken from a search result. Accepts up to 20 comma-separated ids in one call.","parameters":[{"schema":{"type":"string","minLength":1,"example":"kOh1TMydTBGqZeaRAAAAAA==","description":"Job id from a search result. Up to 20 comma-separated ids per call."},"required":true,"description":"Job id from a search result. Up to 20 comma-separated ids per call.","name":"job_id","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":2,"default":"us","example":"us","description":"Two-letter ISO country code to search within."},"required":false,"description":"Two-letter ISO country code to search within.","name":"country","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":5,"example":"en","description":"Language code for the returned listings."},"required":false,"description":"Language code for the returned listings.","name":"language","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","properties":{"id":{"type":"string","nullable":true},"short_id":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"employment_type":{"type":"string","nullable":true},"employment_types":{"type":"array","items":{"type":"string"}},"is_remote":{"type":"boolean"},"company":{"type":"object","properties":{"name":{"type":"string","nullable":true},"logo":{"type":"string","nullable":true},"website":{"type":"string","nullable":true},"reviews":{"type":"array","items":{"type":"object","properties":{"board":{"type":"string","nullable":true},"score":{"type":"number","nullable":true},"max_score":{"type":"number","nullable":true},"review_count":{"type":"number","nullable":true},"url":{"type":"string","nullable":true}},"required":["board","score","max_score","review_count","url"]}}},"required":["name","logo","website","reviews"]},"location":{"type":"object","properties":{"text":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"country":{"type":"string","nullable":true},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true}},"required":["text","city","state","country","latitude","longitude"]},"salary":{"type":"object","nullable":true,"properties":{"text":{"type":"string","nullable":true},"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"period":{"type":"string","nullable":true}},"required":["text","min","max","period"]},"posted":{"type":"object","properties":{"text":{"type":"string","nullable":true},"at":{"type":"string","nullable":true},"timestamp":{"type":"number","nullable":true}},"required":["text","at","timestamp"]},"apply":{"type":"object","properties":{"url":{"type":"string","nullable":true},"is_direct":{"type":"boolean"},"options":{"type":"array","items":{"type":"object","properties":{"board":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"is_direct":{"type":"boolean"}},"required":["board","url","is_direct"]}}},"required":["url","is_direct","options"]},"source_board":{"type":"string","nullable":true},"benefits":{"type":"array","nullable":true,"items":{"type":"string"}},"highlights":{"type":"object","nullable":true,"additionalProperties":{"type":"array","items":{"type":"string"}}},"insights":{"type":"object","nullable":true,"properties":{"work_arrangement":{"type":"string","nullable":true},"seniority":{"type":"string","nullable":true},"experience_years_required":{"type":"number","nullable":true},"education":{"type":"object","properties":{"level":{"type":"string","nullable":true},"field":{"type":"string","nullable":true}},"required":["level","field"]},"visa_sponsorship":{"type":"boolean","nullable":true},"relocation_required":{"type":"boolean","nullable":true},"relocation_assistance":{"type":"boolean","nullable":true},"contract_duration":{"type":"string","nullable":true},"start_date":{"type":"string","nullable":true},"technologies":{"type":"object","properties":{"required":{"type":"array","items":{"type":"string"}},"preferred":{"type":"array","items":{"type":"string"}}},"required":["required","preferred"]},"methodologies":{"type":"array","items":{"type":"string"}},"soft_skills":{"type":"array","items":{"type":"string"}},"extended_benefits":{"type":"array","items":{"type":"string"}},"industry":{"type":"string","nullable":true},"job_function":{"type":"string","nullable":true},"is_management":{"type":"boolean","nullable":true},"involves_ai_ml":{"type":"boolean","nullable":true}},"required":["work_arrangement","seniority","experience_years_required","education","visa_sponsorship","relocation_required","relocation_assistance","contract_duration","start_date","technologies","methodologies","soft_skills","extended_benefits","industry","job_function","is_management","involves_ai_ml"]}},"required":["id","short_id","title","description","employment_type","employment_types","is_remote","company","location","salary","posted","apply","source_board","benefits","highlights","insights"]}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":4,"x-audience":"customer","x-status":"live","x-product":"jobs","x-toolzer-verified":false}},"/v2/jobs/salary":{"get":{"operationId":"Get Job Salary Estimate","tags":["Jobs"],"summary":"Estimate a salary","description":"Returns pay estimates for required `job_title` in required `location`. Narrow with `location_scope` and `experience`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nodejs developer","description":"Job title to estimate pay for."},"required":true,"description":"Job title to estimate pay for.","name":"job_title","in":"query"},{"schema":{"type":"string","minLength":1,"example":"new york","description":"Place to scope the estimate to."},"required":true,"description":"Place to scope the estimate to.","name":"location","in":"query"},{"schema":{"type":"string","enum":["any","city","state","country"],"default":"any","example":"city","description":"How precisely `location` should be interpreted."},"required":false,"description":"How precisely `location` should be interpreted.","name":"location_scope","in":"query"},{"schema":{"type":"string","enum":["all","under_1_year","1_to_3_years","4_to_6_years","7_to_9_years","10_to_14_years","over_15_years"],"default":"all","example":"4_to_6_years","description":"Experience band the salary estimate should be scoped to."},"required":false,"description":"Experience band the salary estimate should be scoped to.","name":"experience","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","properties":{"job_title":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"company":{"type":"string","nullable":true},"currency":{"type":"string","nullable":true},"period":{"type":"string","nullable":true},"total":{"type":"object","properties":{"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"median":{"type":"number","nullable":true}},"required":["min","max","median"]},"base":{"type":"object","properties":{"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"median":{"type":"number","nullable":true}},"required":["min","max","median"]},"additional":{"type":"object","properties":{"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"median":{"type":"number","nullable":true}},"required":["min","max","median"]},"sample_size":{"type":"number","nullable":true},"confidence":{"type":"string","nullable":true},"updated_at":{"type":"string","nullable":true},"source":{"type":"object","properties":{"board":{"type":"string","nullable":true},"url":{"type":"string","nullable":true}},"required":["board","url"]}},"required":["job_title","location","company","currency","period","total","base","additional","sample_size","confidence","updated_at","source"]}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":4,"x-audience":"customer","x-status":"live","x-product":"jobs","x-toolzer-verified":false}},"/v2/jobs/salary/company":{"get":{"operationId":"Get Company Salary Estimate","tags":["Jobs"],"summary":"Estimate company salaries","description":"Returns pay estimates for required `job_title` at required `company`. Narrow with optional `location`, `location_scope` and `experience`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"Netflix","description":"Employer to scope the estimate to."},"required":true,"description":"Employer to scope the estimate to.","name":"company","in":"query"},{"schema":{"type":"string","minLength":1,"example":"nodejs developer","description":"Job title to estimate pay for."},"required":true,"description":"Job title to estimate pay for.","name":"job_title","in":"query"},{"schema":{"type":"string","example":"los angeles","description":"Optional place to narrow the estimate to."},"required":false,"description":"Optional place to narrow the estimate to.","name":"location","in":"query"},{"schema":{"type":"string","enum":["any","city","state","country"],"default":"any","example":"city","description":"How precisely `location` should be interpreted."},"required":false,"description":"How precisely `location` should be interpreted.","name":"location_scope","in":"query"},{"schema":{"type":"string","enum":["all","under_1_year","1_to_3_years","4_to_6_years","7_to_9_years","10_to_14_years","over_15_years"],"default":"all","example":"4_to_6_years","description":"Experience band the salary estimate should be scoped to."},"required":false,"description":"Experience band the salary estimate should be scoped to.","name":"experience","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","properties":{"job_title":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"company":{"type":"string","nullable":true},"currency":{"type":"string","nullable":true},"period":{"type":"string","nullable":true},"total":{"type":"object","properties":{"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"median":{"type":"number","nullable":true}},"required":["min","max","median"]},"base":{"type":"object","properties":{"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"median":{"type":"number","nullable":true}},"required":["min","max","median"]},"additional":{"type":"object","properties":{"min":{"type":"number","nullable":true},"max":{"type":"number","nullable":true},"median":{"type":"number","nullable":true}},"required":["min","max","median"]},"sample_size":{"type":"number","nullable":true},"confidence":{"type":"string","nullable":true},"updated_at":{"type":"string","nullable":true},"source":{"type":"object","properties":{"board":{"type":"string","nullable":true},"url":{"type":"string","nullable":true}},"required":["board","url"]}},"required":["job_title","location","company","currency","period","total","base","additional","sample_size","confidence","updated_at","source"]}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":4,"x-audience":"customer","x-status":"live","x-product":"jobs","x-toolzer-verified":false}},"/v3/instagram/user/info":{"get":{"operationId":"Get Instagram User Info V3","tags":["Instagram - User"],"summary":"Get Instagram profile by username","deprecated":true,"description":"Deprecated: use `/v1/instagram/profile` instead. Public profile for a username: bio, links, verification, privacy flags, `edge_followed_by.count` (followers) and `edge_follow.count` (following). Returns the numeric `user_id`. `data` is `null` if no such account exists.","parameters":[{"schema":{"type":"string","minLength":1,"example":"instagram","description":"Instagram username, without the leading @."},"required":true,"description":"Instagram username, without the leading @.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/info/by-id":{"get":{"operationId":"Get Instagram User Info By ID V3","tags":["Instagram - User"],"summary":"Get Instagram profile by user ID","deprecated":true,"description":"Deprecated: use `/v1/instagram/profile` instead. The same profile record as `/user/info`, looked up by numeric `user_id` instead of username. Use it when you already hold an ID and want to check whether the account still exists or has been renamed.","parameters":[{"schema":{"type":"string","minLength":1,"example":"25025320","description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response."},"required":true,"description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response.","name":"user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/details":{"get":{"operationId":"Get Instagram User Details V3","tags":["Instagram - User"],"summary":"Get extended Instagram profile details","deprecated":true,"description":"Deprecated: use `/v1/instagram/profile` instead. Returns an extended public Instagram profile: flat follower counts, account type, badges, bio links, category and business contact fields. `username_or_id` takes a username or a numeric user ID.","parameters":[{"schema":{"type":"string","minLength":1,"example":"instagram","description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`.","name":"username_or_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/posts":{"get":{"operationId":"Get Instagram User Posts V3","tags":["Instagram - User"],"summary":"List Instagram user posts","deprecated":true,"description":"Deprecated: use `/v1/instagram/user/posts` instead. Timeline posts for an account, newest first, with media URLs, caption, like and comment counts, and its `code` (the post URL shortcode). Pass `next_max_id` as `max_id` for the next page; `more_available` is `false` on the last one.","parameters":[{"schema":{"type":"string","minLength":1,"example":"25025320","description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response."},"required":true,"description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response.","name":"user_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":12,"example":12,"description":"Items per page, 1 to 50."},"required":false,"description":"Items per page, 1 to 50.","name":"count","in":"query"},{"schema":{"type":"string","example":"3963642343152205281_25025320","description":"Pass the previous response's `next_max_id`."},"required":false,"description":"Pass the previous response's `next_max_id`.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"more_available":{"type":"boolean"},"next_max_id":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/reels":{"get":{"operationId":"Get Instagram User Reels V3","tags":["Instagram - User"],"summary":"List Instagram user reels","deprecated":true,"description":"Deprecated: use `/v1/instagram/user/reels` instead. Reels posted by an account, newest first, with video URLs, cover images and play counts. Pass `max_id` from the previous response's `paging_info` to page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"25025320","description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response."},"required":true,"description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response.","name":"user_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":12,"example":12,"description":"Items per page, 1 to 50."},"required":false,"description":"Items per page, 1 to 50.","name":"count","in":"query"},{"schema":{"type":"string","example":"3963642343152205281_25025320","description":"Pass the previous response's `next_max_id`."},"required":false,"description":"Pass the previous response's `next_max_id`.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"paging_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/tagged-posts":{"get":{"operationId":"Get Instagram User Tagged Posts V3","tags":["Instagram - User"],"summary":"List Instagram tagged posts","deprecated":true,"description":"Deprecated: use `/v1/instagram/user/tagged-posts` instead. Posts made by other accounts that tag this one. The response is the profile record with the tagged-posts collection attached; page through it with `end_cursor`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"25025320","description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response."},"required":true,"description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response.","name":"user_id","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":50,"default":12,"example":12,"description":"Items per page, 1 to 50."},"required":false,"description":"Items per page, 1 to 50.","name":"count","in":"query"},{"schema":{"type":"string","example":"QVFEX2s5b0hSc2hBVXhx","description":"Pass the previous response's `page_info.end_cursor`."},"required":false,"description":"Pass the previous response's `page_info.end_cursor`.","name":"end_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/reposts":{"get":{"operationId":"Get Instagram User Reposts V3","tags":["Instagram - User"],"summary":"List Instagram user reposts","deprecated":true,"description":"Deprecated: use `/v1/instagram/user/reposts` instead. Posts this account has reposted onto its own profile, newest first. Page with `max_id` from `next_max_id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"25025320","description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response."},"required":true,"description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response.","name":"user_id","in":"query"},{"schema":{"type":"string","example":"3963642343152205281_25025320","description":"Pass the previous response's `next_max_id`."},"required":false,"description":"Pass the previous response's `next_max_id`.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"more_available":{"type":"boolean"},"next_max_id":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/related":{"get":{"operationId":"Get Instagram Related Profiles V3","tags":["Instagram - User"],"summary":"List related Instagram profiles","deprecated":true,"description":"Deprecated: use `/v1/instagram/user/related` instead. Returns the related accounts Instagram shows on a profile page, for the numeric `user_id`. Get the ID from the profile route. The response is one list and is not paginated.","parameters":[{"schema":{"type":"string","minLength":1,"example":"25025320","description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response."},"required":true,"description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response.","name":"user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/similar":{"get":{"operationId":"Get Instagram Similar Users V3","tags":["Instagram - User"],"summary":"List similar Instagram users","deprecated":true,"description":"Deprecated: use `/v1/instagram/user/similar` instead. Accounts Instagram recommends as similar to this one. A different set from `/user/related`, generally larger, and this route accepts a username as well as a numeric ID.","parameters":[{"schema":{"type":"string","minLength":1,"example":"instagram","description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`.","name":"username_or_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/followers":{"get":{"operationId":"Get Instagram User Followers V3","tags":["Instagram - User"],"summary":"List Instagram user followers","deprecated":true,"description":"Deprecated: use `/v1/instagram/user/followers` instead. Accounts that follow this user, as `{ count, items }`. Pass `pagination_token` from the previous response for the next page.","parameters":[{"schema":{"type":"string","minLength":1,"example":"instagram","description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`.","name":"username_or_id","in":"query"},{"schema":{"type":"string","example":"D01MBAwpDhZIZQNSHVFDRz5HHUc3RxdEF1Qqb09TQUtIWANHBm0TQxBRBBo","description":"Pass the previous response's `pagination_token`."},"required":false,"description":"Pass the previous response's `pagination_token`.","name":"pagination_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/following":{"get":{"operationId":"Get Instagram User Following V3","tags":["Instagram - User"],"summary":"List accounts an Instagram user follows","deprecated":true,"description":"Deprecated: use `/v1/instagram/user/following` instead. Accounts this user follows, as `{ count, items }`. Page with `pagination_token` from the previous response.","parameters":[{"schema":{"type":"string","minLength":1,"example":"instagram","description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`.","name":"username_or_id","in":"query"},{"schema":{"type":"string","example":"D01MBAwpDhZIZQNSHVFDRz5HHUc3RxdEF1Qqb09TQUtIWANHBm0TQxBRBBo","description":"Pass the previous response's `pagination_token`."},"required":false,"description":"Pass the previous response's `pagination_token`.","name":"pagination_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/stories":{"get":{"operationId":"Get Instagram User Stories V3","tags":["Instagram - User"],"summary":"List Instagram user stories","deprecated":true,"description":"Deprecated: use `/v1/instagram/profile/stories` instead. Stories currently live on this account. Stories expire after 24 hours, so an account with nothing active returns an empty `items` list — that is a normal result, not an error.","parameters":[{"schema":{"type":"string","minLength":1,"example":"instagram","description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`.","name":"username_or_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/highlights":{"get":{"operationId":"Get Instagram User Highlights V3","tags":["Instagram - User"],"summary":"List Instagram user highlights","deprecated":true,"description":"Deprecated: use `/v1/instagram/profile/highlights` instead. Returns the highlight covers pinned to a public Instagram profile, with each title, cover image and ID. Pass an ID to `/v1/instagram/highlight/stories` to get the stories in it.","parameters":[{"schema":{"type":"string","minLength":1,"example":"instagram","description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`."},"required":true,"description":"Username without the @, or numeric user ID, of a public account. Get the ID from `/user/info`.","name":"username_or_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/username":{"get":{"operationId":"Get Instagram Username By ID V3","tags":["Instagram - User"],"summary":"Get Instagram username by user ID","deprecated":true,"description":"Deprecated: use `/v1/instagram/user/username` instead. Resolves a numeric `user_id` to the account's current username, with a small profile stub (display name, avatar, verification). Useful for re-checking IDs you stored earlier, since usernames change but IDs do not.","parameters":[{"schema":{"type":"string","minLength":1,"example":"25025320","description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response."},"required":true,"description":"Numeric user ID of a public account. Get it from the `user_id` field of the `/user/info` response.","name":"user_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"pk":{"anyOf":[{"type":"string"},{"type":"number"}]},"username":{"type":"string"}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/highlight/stories":{"get":{"operationId":"Get Instagram Highlight Stories V3","tags":["Instagram - User"],"summary":"List Instagram highlight stories","deprecated":true,"description":"Deprecated: use `/v1/instagram/highlight/stories` instead. Returns the stories saved in one Instagram highlight, with media URLs and timestamps. Pass `highlight_id` exactly as returned by `/v1/instagram/user/highlights`, including its `highlight:` prefix.","parameters":[{"schema":{"type":"string","minLength":1,"example":"highlight:18142207969557132","description":"Highlight ID from `/v1/instagram/user/highlights`, including the `highlight:` prefix."},"required":true,"description":"Highlight ID from `/v1/instagram/user/highlights`, including the `highlight:` prefix.","name":"highlight_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/post":{"get":{"operationId":"Get Instagram Post By URL V3","tags":["Instagram - Post"],"summary":"Get Instagram post by URL","deprecated":true,"description":"Deprecated: use `/v1/instagram/media` instead. Full record for a single post, reel or TV item from its URL: media URLs, caption, dimensions, owner, and like and comment counts. `data` is `null` if the post is deleted, private, or the URL is not a post.","parameters":[{"schema":{"type":"string","minLength":1,"example":"https://www.instagram.com/p/DcBr7X4SL3h/","description":"Full Instagram post, reel, or TV URL."},"required":true,"description":"Full Instagram post, reel, or TV URL.","name":"post_url","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/post/by-id":{"get":{"operationId":"Get Instagram Post By ID V3","tags":["Instagram - Post"],"summary":"Get Instagram post by media ID","deprecated":true,"description":"Deprecated: use `/v1/instagram/media` instead. The same record as `/post`, looked up by numeric media ID. If you have a shortcode from a URL, convert it first with `/util/media-id`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"3963642343152205281","description":"Numeric media ID. Convert a shortcode with `/util/media-id`."},"required":true,"description":"Numeric media ID. Convert a shortcode with `/util/media-id`.","name":"post_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/post/details":{"get":{"operationId":"Get Instagram Post Details V3","tags":["Instagram - Post"],"summary":"Get extended Instagram post details","deprecated":true,"description":"Deprecated: use `/v1/instagram/media` instead. Returns an extended public Instagram post record: accessibility captions, remix and collaboration metadata, product tags and additional media variants. `code` takes a shortcode or the full post URL.","parameters":[{"schema":{"type":"string","minLength":1,"example":"DcBr7X4SL3h","description":"Shortcode from the post URL (`DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`), or the full post URL."},"required":true,"description":"Shortcode from the post URL (`DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`), or the full post URL.","name":"code","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/post/comments":{"get":{"operationId":"Get Instagram Post Comments V3","tags":["Instagram - Post"],"summary":"List Instagram post comments","deprecated":true,"description":"Deprecated: use `/v1/instagram/comments` instead. Returns top-level comments on a public Instagram post, ordered by `sort_by`. If a comment's `child_comment_count` is above 0, pass its ID to `/v1/instagram/post/comments/replies`. Page with `pagination_token`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"DcBr7X4SL3h","description":"Shortcode from the post URL (`DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`), or the full post URL."},"required":true,"description":"Shortcode from the post URL (`DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`), or the full post URL.","name":"code","in":"query"},{"schema":{"type":"string","enum":["recent","popular"],"default":"recent","example":"recent","description":"Comment order: `recent` or `popular`."},"required":false,"description":"Comment order: `recent` or `popular`.","name":"sort_by","in":"query"},{"schema":{"type":"string","example":"D01MBAwpDhZIZQNSHVFDRz5HHUc3RxdEF1Qqb09TQUtIWANHBm0TQxBRBBo","description":"Pass the previous response's `pagination_token`."},"required":false,"description":"Pass the previous response's `pagination_token`.","name":"pagination_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/post/comments/replies":{"get":{"operationId":"Get Instagram Comment Replies V3","tags":["Instagram - Post"],"summary":"List Instagram comment replies","deprecated":true,"description":"Deprecated: use `/v1/instagram/comments/replies` instead. The replies threaded under a single comment. Page with `pagination_token` from the previous response.","parameters":[{"schema":{"type":"string","minLength":1,"example":"DcBr7X4SL3h","description":"Shortcode from the post URL (`DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`), or the full post URL."},"required":true,"description":"Shortcode from the post URL (`DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`), or the full post URL.","name":"code","in":"query"},{"schema":{"type":"string","minLength":1,"example":"17962178040160246","description":"Comment `id` from `/v1/instagram/post/comments`. These comment objects do not provide a `pk` field."},"required":true,"description":"Comment `id` from `/v1/instagram/post/comments`. These comment objects do not provide a `pk` field.","name":"comment_id","in":"query"},{"schema":{"type":"string","example":"D01MBAwpDhZIZQNSHVFDRz5HHUc3RxdEF1Qqb09TQUtIWANHBm0TQxBRBBo","description":"Pass the previous response's `pagination_token`."},"required":false,"description":"Pass the previous response's `pagination_token`.","name":"pagination_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/post/likes":{"get":{"operationId":"Get Instagram Post Likes V3","tags":["Instagram - Post"],"summary":"List Instagram post likes","deprecated":true,"description":"Deprecated: use `/v1/instagram/post/likes` instead. Accounts that liked a post, as `{ count, items }`. Requires `code`. Page with `end_cursor`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"DcBr7X4SL3h","description":"Shortcode from the post URL (`DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`), or the full post URL."},"required":true,"description":"Shortcode from the post URL (`DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`), or the full post URL.","name":"code","in":"query"},{"schema":{"type":"string","example":"QVFEX2s5b0hSc2hBVXhx","description":"Pass the previous response's `page_info.end_cursor`."},"required":false,"description":"Pass the previous response's `page_info.end_cursor`.","name":"end_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/hashtag/posts":{"get":{"operationId":"Get Instagram Hashtag Posts V3","tags":["Instagram - Hashtag"],"summary":"List Instagram hashtag posts","deprecated":true,"description":"Deprecated: use `/v1/instagram/hashtag/posts` instead. Top posts for a hashtag — Instagram's ranked feed, not a chronological one. The response is the hashtag record with its post collections attached, plus the tag's total post count. Page with `end_cursor`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nature","description":"Hashtag without the leading #."},"required":true,"description":"Hashtag without the leading #.","name":"hashtag","in":"query"},{"schema":{"type":"string","example":"QVFEX2s5b0hSc2hBVXhx","description":"Pass the previous response's `page_info.end_cursor`."},"required":false,"description":"Pass the previous response's `page_info.end_cursor`.","name":"end_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/location/info":{"get":{"operationId":"Get Instagram Location Info V3","tags":["Instagram - Location"],"summary":"Get Instagram location details","deprecated":true,"description":"Deprecated: use `/v1/instagram/location/info` instead. Returns a location's name, address, coordinates and post count. Get `location_id` from `/v1/instagram/search/locations`, `/v1/instagram/location/nearby` or a post's `location` field.","parameters":[{"schema":{"type":"string","minLength":1,"example":"212988663","description":"Instagram location ID from `/v1/instagram/search/locations`."},"required":true,"description":"Instagram location ID from `/v1/instagram/search/locations`.","name":"location_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"location_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/location/posts":{"get":{"operationId":"Get Instagram Location Posts V3","tags":["Instagram - Location"],"summary":"List Instagram location posts","deprecated":true,"description":"Deprecated: use `/v1/instagram/place/recent` instead. Posts tagged at a location, returned as `edges` with a `page_info` block. `tab` chooses between Instagram's ranked feed and the most recent posts. Page with `end_cursor` from `page_info`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"212988663","description":"Instagram location ID from `/v1/instagram/search/locations`."},"required":true,"description":"Instagram location ID from `/v1/instagram/search/locations`.","name":"location_id","in":"query"},{"schema":{"type":"string","enum":["ranked","recent"],"default":"ranked","example":"ranked","description":"Feed to read: `ranked` for Instagram's ranked feed, `recent` for newest posts."},"required":false,"description":"Feed to read: `ranked` for Instagram's ranked feed, `recent` for newest posts.","name":"tab","in":"query"},{"schema":{"type":"string","example":"QVFEX2s5b0hSc2hBVXhx","description":"Pass the previous response's `page_info.end_cursor`."},"required":false,"description":"Pass the previous response's `page_info.end_cursor`.","name":"end_cursor","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"edges":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"page_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"required":["edges"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/location/cities":{"get":{"operationId":"Get Instagram Cities V3","tags":["Instagram - Location"],"summary":"List Instagram cities by country","deprecated":true,"description":"Deprecated: use `/v1/instagram/location/cities` instead. Cities Instagram lists for a country, as its own place directory. Each entry's `id` is a `c`-prefixed string that `/location/list` takes. Page with `page`; `next_page` is `null` on the last page.","parameters":[{"schema":{"type":"string","minLength":2,"maxLength":2,"example":"US","description":"Two-letter ISO country code."},"required":true,"description":"Two-letter ISO country code.","name":"country_code","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number, starting at 1."},"required":false,"description":"Page number, starting at 1.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"country_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"city_list":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"next_page":{"anyOf":[{"type":"number"},{"type":"string"},{"nullable":true}]}},"required":["city_list"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/location/list":{"get":{"operationId":"Get Instagram Locations V3","tags":["Instagram - Location"],"summary":"List Instagram locations in a city","deprecated":true,"description":"Deprecated: use `/v1/instagram/location/list` instead. Individual places within a city — the bottom level of Instagram's place directory — along with the city and country they sit under.","parameters":[{"schema":{"type":"string","minLength":1,"example":"c2753900","description":"City ID from `/location/cities` (a `c`-prefixed string)."},"required":true,"description":"City ID from `/location/cities` (a `c`-prefixed string).","name":"city_id","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1,"example":1,"description":"Page number, starting at 1."},"required":false,"description":"Page number, starting at 1.","name":"page","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"country_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}},"city_info":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/search/locations":{"get":{"operationId":"Search Instagram Locations V3","tags":["Instagram - Location"],"summary":"Search Instagram locations by name","deprecated":true,"description":"Deprecated: use `/v1/instagram/place/search` instead. Search places by name. The quickest way to turn a place name into the `location_id` the other location routes take.","parameters":[{"schema":{"type":"string","minLength":1,"example":"new york","description":"Text to search for."},"required":true,"description":"Text to search for.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/location/nearby":{"get":{"operationId":"Get Instagram Locations Nearby V3","tags":["Instagram - Location"],"summary":"List Instagram locations near a point","deprecated":true,"description":"Deprecated: use `/v1/instagram/location/nearby` instead. Places near a latitude/longitude, closest first. Use it to find taggable locations around a point when you have coordinates rather than a name.","parameters":[{"schema":{"type":"number","nullable":true,"minimum":-90,"maximum":90,"example":40.7128,"description":"Latitude in decimal degrees, -90 to 90."},"required":false,"description":"Latitude in decimal degrees, -90 to 90.","name":"latitude","in":"query"},{"schema":{"type":"number","nullable":true,"minimum":-180,"maximum":180,"example":-74.006,"description":"Longitude in decimal degrees, -180 to 180."},"required":false,"description":"Longitude in decimal degrees, -180 to 180.","name":"longitude","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/music/posts":{"get":{"operationId":"Get Instagram Music Posts V3","tags":["Instagram - Music"],"summary":"List Instagram posts by audio track","deprecated":true,"description":"Deprecated: use `/v1/instagram/music/posts` instead. Returns reels and posts that use one Instagram audio track, with track metadata and its total use count. Send `music_id` from `/v1/instagram/search/music`, or `music_url`. Page with `max_id`.","parameters":[{"schema":{"type":"string","example":"1055377081577569","description":"Audio track ID from `/v1/instagram/search/music`. Send this or `music_url`."},"required":false,"description":"Audio track ID from `/v1/instagram/search/music`. Send this or `music_url`.","name":"music_id","in":"query"},{"schema":{"type":"string","description":"Full URL of an Instagram audio page. Send this or `music_id`."},"required":false,"description":"Full URL of an Instagram audio page. Send this or `music_id`.","name":"music_url","in":"query"},{"schema":{"type":"string","example":"3963642343152205281_25025320","description":"Pass the previous response's `next_max_id`."},"required":false,"description":"Pass the previous response's `next_max_id`.","name":"max_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/search/music":{"get":{"operationId":"Search Instagram Music V3","tags":["Instagram - Music"],"summary":"Search Instagram audio by name","deprecated":true,"description":"Deprecated: use `/v1/instagram/music/search` instead. Search Instagram's audio library by track or artist name. Returns each track's ID, title, artist and duration — the IDs `/music/posts` takes.","parameters":[{"schema":{"type":"string","minLength":1,"example":"lofi","description":"Text to search for."},"required":true,"description":"Text to search for.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/search":{"get":{"operationId":"Search Instagram V3","tags":["Instagram - Search"],"summary":"Get Instagram search typeahead","deprecated":true,"description":"Deprecated: use `/v1/instagram/search` instead. Instagram's search-bar typeahead: accounts, hashtags and places for one query, in a single response. Set `type` to return just one of the three. Not paginated — it returns the first screen of results, the same as the app's search bar.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nasa","description":"Text to get typeahead suggestions for."},"required":true,"description":"Text to get typeahead suggestions for.","name":"query","in":"query"},{"schema":{"type":"string","enum":["all","users","hashtags","places"],"default":"all","example":"all","description":"Restrict results to one section of the typeahead."},"required":false,"description":"Restrict results to one section of the typeahead.","name":"type","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"users":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"hashtags":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"places":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}}},"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/search/all":{"get":{"operationId":"General Search Instagram V3","tags":["Instagram - Search"],"summary":"Search Instagram by keyword","deprecated":true,"description":"Deprecated: use `/v1/instagram/search/all` instead. Keyword search returning mixed results that can be paged with `pagination_token`, unlike `/search`. Use it when you need more than the first screen.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nasa","description":"Text to search for."},"required":true,"description":"Text to search for.","name":"keyword","in":"query"},{"schema":{"type":"string","example":"D01MBAwpDhZIZQNSHVFDRz5HHUc3RxdEF1Qqb09TQUtIWANHBm0TQxBRBBo","description":"Pass the previous response's `pagination_token`."},"required":false,"description":"Pass the previous response's `pagination_token`.","name":"pagination_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/search/users":{"get":{"operationId":"Search Instagram Users V3","tags":["Instagram - Search"],"summary":"Search Instagram users by keyword","deprecated":true,"description":"Deprecated: use `/v1/instagram/search/users` instead. Search accounts by keyword, returning usernames, display names, avatars and verification status.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nasa","description":"Text to search for."},"required":true,"description":"Text to search for.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/search/hashtags":{"get":{"operationId":"Search Instagram Hashtags V3","tags":["Instagram - Search"],"summary":"Search Instagram hashtags by keyword","deprecated":true,"description":"Deprecated: use `/v1/instagram/search/hashtags` instead. Search hashtags by keyword, with each tag's total post count — useful for sizing a tag before pulling its posts.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nature","description":"Text to search for."},"required":true,"description":"Text to search for.","name":"keyword","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/search/reels":{"get":{"operationId":"Search Instagram Reels V3","tags":["Instagram - Search"],"summary":"Search Instagram reels by keyword","deprecated":true,"description":"Deprecated: use `/v1/instagram/search/reels` instead. Search reels by keyword, returning video URLs, covers and play counts. Page with `pagination_token`.","parameters":[{"schema":{"type":"string","minLength":1,"example":"nature","description":"Text to search for."},"required":true,"description":"Text to search for.","name":"keyword","in":"query"},{"schema":{"type":"string","example":"D01MBAwpDhZIZQNSHVFDRz5HHUc3RxdEF1Qqb09TQUtIWANHBm0TQxBRBBo","description":"Pass the previous response's `pagination_token`."},"required":false,"description":"Pass the previous response's `pagination_token`.","name":"pagination_token","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"count":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"pagination_token":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/util/media-id":{"get":{"operationId":"Get Instagram Media ID V3","tags":["Instagram - Utility"],"summary":"Convert Instagram shortcode to media ID","deprecated":true,"description":"Deprecated: use `/v1/instagram/util/media-id` instead. Converts the shortcode in a post URL (the `DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`) into the numeric media ID that `/post/by-id` takes.","parameters":[{"schema":{"type":"string","minLength":1,"example":"DcBr7X4SL3h","description":"Shortcode from the post URL, such as `DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`."},"required":true,"description":"Shortcode from the post URL, such as `DcBr7X4SL3h` in `instagram.com/p/DcBr7X4SL3h/`.","name":"shortcode","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"shortcode":{"type":"string"},"media_id":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["shortcode","media_id"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/util/shortcode":{"get":{"operationId":"Get Instagram Shortcode V3","tags":["Instagram - Utility"],"summary":"Convert Instagram media ID to shortcode","deprecated":true,"description":"Deprecated: use `/v1/instagram/util/shortcode` instead. Converts a numeric media ID back into the shortcode used in post URLs, so you can rebuild a link to a post you only have an ID for.","parameters":[{"schema":{"type":"string","minLength":1,"example":"3963642343152205281","description":"Numeric media ID of a post, reel or TV item."},"required":true,"description":"Numeric media ID of a post, reel or TV item.","name":"media_id","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"media_id":{"anyOf":[{"type":"string"},{"type":"number"}]},"shortcode":{"type":"string"}},"required":["media_id","shortcode"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":3,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}},"/v3/instagram/user/former-usernames":{"get":{"operationId":"Get Instagram Former Usernames V3","tags":["Instagram - User"],"summary":"List Instagram former usernames","deprecated":true,"description":"Deprecated: use `/v1/instagram/profile/about` instead. Usernames this account has previously used, with the date of each change, plus `has_former_usernames` as a quick flag. Accounts that have never been renamed return an empty list with the flag `false` — a normal result, and the common one.","parameters":[{"schema":{"type":"string","minLength":1,"example":"instagram","description":"Instagram username, without the leading @."},"required":true,"description":"Instagram username, without the leading @.","name":"username","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true,"properties":{"former_usernames":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{"nullable":true}}},"has_former_usernames":{"type":"boolean"}},"required":["former_usernames","has_former_usernames"],"additionalProperties":{"nullable":true}},"details":{"type":"object","properties":{"reason":{"type":"string"},"message":{"type":"string"}},"required":["reason","message"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error402"}}}},"429":{"description":"Too Many Requests","headers":{"RateLimit-Limit":{"schema":{"type":"string","description":"Requests allowed in the current window.","example":"600"},"required":true,"description":"Requests allowed in the current window."},"RateLimit-Remaining":{"schema":{"type":"string","description":"Requests left in the current window.","example":"594"},"required":true,"description":"Requests left in the current window."},"RateLimit-Reset":{"schema":{"type":"string","description":"Seconds until the current window resets.","example":"37"},"required":true,"description":"Seconds until the current window resets."},"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error429"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error500"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"string","description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110.","example":"37"},"required":true,"description":"Whole seconds to wait before retrying. Never `0`, per RFC 9110."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error503"}}}}},"x-credits":12,"x-audience":"customer","x-status":"live","x-product":"instagram","x-toolzer-verified":false}}},"x-audience":"customer"}