{"openapi":"3.1.0","info":{"title":"SocialRouter API","version":"2.0.0","description":"One endpoint per service: POST /v1/{platform}/{service}. Offers of a service are interchangeable (fixed contract, substitutable provider); the router fails over between them and the response names the offer that served (`served_by`)."},"servers":[{"url":"https://api.socialrouter.io"}],"paths":{"/v1/linkedin/profile.posts":{"post":{"operationId":"run_linkedin_profile_posts","summary":"linkedin/profile.posts","description":"Run linkedin/profile.posts (url-kind). Offers in failover order: brightdata/linkedin ($0.001725/record, max 1000 inputs), apify/apimaestro ($0.007705/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["linkedin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.linkedin.com/in/<handle> | https://www.linkedin.com/posts/<slug>. One post per URL.","example":["https://www.linkedin.com/in/williamhgates"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.linkedin.com/in/<handle> | https://www.linkedin.com/posts/<slug>. One post per URL.","example":"https://www.linkedin.com/in/williamhgates"},"provider":{"type":"string","enum":["brightdata/linkedin","apify/apimaestro"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/linkedin/post.likes":{"post":{"operationId":"run_linkedin_post_likes","summary":"linkedin/post.likes","description":"Run linkedin/post.likes (url-kind). Offers in failover order: apify/apimaestro ($0.0069/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["linkedin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.linkedin.com/posts/<slug>-activity-<id>-<suffix>. The URL must contain the numeric activity ID. | <activity_id> (raw numeric ID)","example":["https://www.linkedin.com/posts/satyanadella_ai-activity-7123456789012345678-AbCd"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.linkedin.com/posts/<slug>-activity-<id>-<suffix>. The URL must contain the numeric activity ID. | <activity_id> (raw numeric ID)","example":"https://www.linkedin.com/posts/satyanadella_ai-activity-7123456789012345678-AbCd"},"provider":{"type":"string","enum":["apify/apimaestro"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/linkedin/profile.info":{"post":{"operationId":"run_linkedin_profile_info","summary":"linkedin/profile.info","description":"Run linkedin/profile.info (url-kind). Offers in failover order: brightdata/linkedin ($0.001725/record, max 1000 inputs), apify/apimaestro ($0.0069/record, max 1 inputs). The response's `served_by` names the offer that actually ran.","tags":["linkedin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.linkedin.com/in/<handle>","example":["https://www.linkedin.com/in/williamhgates"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.linkedin.com/in/<handle>","example":"https://www.linkedin.com/in/williamhgates"},"provider":{"type":"string","enum":["brightdata/linkedin","apify/apimaestro"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."},"options":{"type":"object","additionalProperties":false,"description":"Service-specific options. Unknown keys are rejected.","properties":{"includeEmail":{"description":"Include the public email lookup when the offer supports it.","default":true,"type":"boolean"}}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/linkedin/post.search":{"post":{"operationId":"run_linkedin_post_search","summary":"linkedin/post.search","description":"Run linkedin/post.search (query-kind). Offers in failover order: apify/harvestapi ($0.00276/record, max 50 inputs). The response's `served_by` names the offer that actually ran.","tags":["linkedin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"queries":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. Free-text search query, as you would type it in the LinkedIn search bar (Boolean operators supported, 85 characters max)","example":["hiring software engineer"]},"query":{"type":"string","description":"Single-input form of 'queries'. Free-text search query, as you would type it in the LinkedIn search bar (Boolean operators supported, 85 characters max)","example":"hiring software engineer"},"provider":{"type":"string","enum":["apify/harvestapi"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/googlemaps/place.search":{"post":{"operationId":"run_googlemaps_place_search","summary":"googlemaps/place.search","description":"Run googlemaps/place.search (query-kind). Offers in failover order: apify/compass ($0.00552/record, max 100 inputs). The response's `served_by` names the offer that actually ran.","tags":["googlemaps"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"queries":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. Free-text search query, as you would type it in Google Maps","example":["best pizza in Brooklyn, NY"]},"query":{"type":"string","description":"Single-input form of 'queries'. Free-text search query, as you would type it in Google Maps","example":"best pizza in Brooklyn, NY"},"provider":{"type":"string","enum":["apify/compass"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/googlemaps/place.info":{"post":{"operationId":"run_googlemaps_place_info","summary":"googlemaps/place.info","description":"Run googlemaps/place.info (url-kind). Offers in failover order: brightdata/googlemaps ($0.001725/record, max 1000 inputs), apify/compass ($0.00828/record, max 100 inputs). The response's `served_by` names the offer that actually ran.","tags":["googlemaps"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.google.com/maps/place/<name>/... | <place_id> (Google Place ID)","example":["https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2919064,17z"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.google.com/maps/place/<name>/... | <place_id> (Google Place ID)","example":"https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2919064,17z"},"provider":{"type":"string","enum":["brightdata/googlemaps","apify/compass"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/youtube/video.transcript":{"post":{"operationId":"run_youtube_video_transcript","summary":"youtube/video.transcript","description":"Run youtube/video.transcript (url-kind). Offers in failover order: apify/streamers ($0.00552/record, max 100 inputs). The response's `served_by` names the offer that actually ran.","tags":["youtube"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.youtube.com/watch?v=<video_id>. youtu.be and /shorts/ URLs are accepted too.","example":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.youtube.com/watch?v=<video_id>. youtu.be and /shorts/ URLs are accepted too.","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"},"provider":{"type":"string","enum":["apify/streamers"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/youtube/channel.videos":{"post":{"operationId":"run_youtube_channel_videos","summary":"youtube/channel.videos","description":"Run youtube/channel.videos (url-kind). Offers in failover order: apify/streamers ($0.00552/record, max 100 inputs). The response's `served_by` names the offer that actually ran.","tags":["youtube"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.youtube.com/@<handle>. /channel/<id>, /c/<name> and /user/<name> URLs are accepted too.","example":["https://www.youtube.com/@mkbhd"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.youtube.com/@<handle>. /channel/<id>, /c/<name> and /user/<name> URLs are accepted too.","example":"https://www.youtube.com/@mkbhd"},"provider":{"type":"string","enum":["apify/streamers"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."},"options":{"type":"object","additionalProperties":false,"description":"Service-specific options. Unknown keys are rejected.","properties":{"sortVideosBy":{"description":"Order of the channel's videos (e.g. NEWEST, POPULAR, OLDEST).","type":"string"}}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/youtube/channel.shorts":{"post":{"operationId":"run_youtube_channel_shorts","summary":"youtube/channel.shorts","description":"Run youtube/channel.shorts (url-kind). Offers in failover order: apify/streamers ($0.00552/record, max 100 inputs). The response's `served_by` names the offer that actually ran.","tags":["youtube"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.youtube.com/@<handle>. /channel/<id>, /c/<name> and /user/<name> URLs are accepted too.","example":["https://www.youtube.com/@mkbhd"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.youtube.com/@<handle>. /channel/<id>, /c/<name> and /user/<name> URLs are accepted too.","example":"https://www.youtube.com/@mkbhd"},"provider":{"type":"string","enum":["apify/streamers"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."},"options":{"type":"object","additionalProperties":false,"description":"Service-specific options. Unknown keys are rejected.","properties":{"sortVideosBy":{"description":"Order of the channel's videos (e.g. NEWEST, POPULAR, OLDEST).","type":"string"}}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/youtube/playlist.videos":{"post":{"operationId":"run_youtube_playlist_videos","summary":"youtube/playlist.videos","description":"Run youtube/playlist.videos (url-kind). Offers in failover order: apify/streamers ($0.00552/record, max 100 inputs). The response's `served_by` names the offer that actually ran.","tags":["youtube"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.youtube.com/playlist?list=<playlist_id>","example":["https://www.youtube.com/playlist?list=PLBCF2DAC6FFB574DE"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.youtube.com/playlist?list=<playlist_id>","example":"https://www.youtube.com/playlist?list=PLBCF2DAC6FFB574DE"},"provider":{"type":"string","enum":["apify/streamers"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/youtube/hashtag.videos":{"post":{"operationId":"run_youtube_hashtag_videos","summary":"youtube/hashtag.videos","description":"Run youtube/hashtag.videos (url-kind). Offers in failover order: apify/streamers ($0.00552/record, max 100 inputs). The response's `served_by` names the offer that actually ran.","tags":["youtube"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.youtube.com/hashtag/<tag>. Pass the hashtag page URL, not a bare #tag.","example":["https://www.youtube.com/hashtag/ai"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.youtube.com/hashtag/<tag>. Pass the hashtag page URL, not a bare #tag.","example":"https://www.youtube.com/hashtag/ai"},"provider":{"type":"string","enum":["apify/streamers"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."},"options":{"type":"object","additionalProperties":false,"description":"Service-specific options. Unknown keys are rejected.","properties":{"sortingOrder":{"description":"Result ordering, as the YouTube UI names it (e.g. relevance, date, views).","type":"string"},"videoType":{"description":"Restrict to a video type (e.g. video, movie).","type":"string"},"lengthFilter":{"description":"Video length filter (e.g. under4, between420, over20).","type":"string"},"isHD":{"description":"Only HD videos.","type":"boolean"},"hasSubtitles":{"description":"Only videos with subtitles.","type":"boolean"},"hasCC":{"description":"Only Creative Commons videos.","type":"boolean"},"is3D":{"description":"Only 3D videos.","type":"boolean"},"isLive":{"description":"Only live streams.","type":"boolean"},"is4K":{"description":"Only 4K videos.","type":"boolean"},"is360":{"description":"Only 360° videos.","type":"boolean"},"hasLocation":{"description":"Only geotagged videos.","type":"boolean"},"isHDR":{"description":"Only HDR videos.","type":"boolean"},"isVR180":{"description":"Only VR180 videos.","type":"boolean"}}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/youtube/video.info":{"post":{"operationId":"run_youtube_video_info","summary":"youtube/video.info","description":"Run youtube/video.info (url-kind). Offers in failover order: brightdata/youtube ($0.001725/record, max 1000 inputs), apify/streamers ($0.00552/record, max 100 inputs). The response's `served_by` names the offer that actually ran.","tags":["youtube"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.youtube.com/watch?v=<video_id>. youtu.be and /shorts/ URLs are accepted too.","example":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.youtube.com/watch?v=<video_id>. youtu.be and /shorts/ URLs are accepted too.","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"},"provider":{"type":"string","enum":["brightdata/youtube","apify/streamers"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."},"options":{"type":"object","additionalProperties":false,"description":"Service-specific options. Unknown keys are rejected.","properties":{"downloadSubtitles":{"description":"Also fetch the video's subtitles (offer-dependent).","default":false,"type":"boolean"},"subtitlesLanguage":{"description":"Subtitle language code, e.g. \"en\".","type":"string"},"preferAutoGeneratedSubtitles":{"description":"Prefer auto-generated subtitles over uploaded ones.","type":"boolean"},"subtitlesFormat":{"description":"Subtitle format (e.g. srt, vtt).","type":"string"}}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/youtube/channel.info":{"post":{"operationId":"run_youtube_channel_info","summary":"youtube/channel.info","description":"Run youtube/channel.info (url-kind). Offers in failover order: brightdata/youtube ($0.001725/record, max 1000 inputs), apify/streamers ($0.00552/record, max 100 inputs). The response's `served_by` names the offer that actually ran.","tags":["youtube"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.youtube.com/@<handle>. /channel/<id>, /c/<name> and /user/<name> URLs are accepted too.","example":["https://www.youtube.com/@mkbhd"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.youtube.com/@<handle>. /channel/<id>, /c/<name> and /user/<name> URLs are accepted too.","example":"https://www.youtube.com/@mkbhd"},"provider":{"type":"string","enum":["brightdata/youtube","apify/streamers"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/youtube/video.search":{"post":{"operationId":"run_youtube_video_search","summary":"youtube/video.search","description":"Run youtube/video.search (query-kind). Offers in failover order: apify/streamers ($0.00552/record, max 50 inputs). The response's `served_by` names the offer that actually ran.","tags":["youtube"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"queries":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. Free-text search query, as you would type it in the YouTube search bar","example":["machine learning tutorial"]},"query":{"type":"string","description":"Single-input form of 'queries'. Free-text search query, as you would type it in the YouTube search bar","example":"machine learning tutorial"},"provider":{"type":"string","enum":["apify/streamers"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."},"options":{"type":"object","additionalProperties":false,"description":"Service-specific options. Unknown keys are rejected.","properties":{"sortingOrder":{"description":"Result ordering, as the YouTube UI names it (e.g. relevance, date, views).","type":"string"},"videoType":{"description":"Restrict to a video type (e.g. video, movie).","type":"string"},"lengthFilter":{"description":"Video length filter (e.g. under4, between420, over20).","type":"string"},"isHD":{"description":"Only HD videos.","type":"boolean"},"hasSubtitles":{"description":"Only videos with subtitles.","type":"boolean"},"hasCC":{"description":"Only Creative Commons videos.","type":"boolean"},"is3D":{"description":"Only 3D videos.","type":"boolean"},"isLive":{"description":"Only live streams.","type":"boolean"},"is4K":{"description":"Only 4K videos.","type":"boolean"},"is360":{"description":"Only 360° videos.","type":"boolean"},"hasLocation":{"description":"Only geotagged videos.","type":"boolean"},"isHDR":{"description":"Only HDR videos.","type":"boolean"},"isVR180":{"description":"Only VR180 videos.","type":"boolean"},"dateFilter":{"description":"Upload date filter (e.g. hour, today, week, month, year).","type":"string"}}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/reddit/subreddit.posts":{"post":{"operationId":"run_reddit_subreddit_posts","summary":"reddit/subreddit.posts","description":"Run reddit/subreddit.posts (url-kind). Offers in failover order: apify/harshmaur ($0.00276/record, max 10 inputs), apify/trudax ($0.00552/record, max 10 inputs). The response's `served_by` names the offer that actually ran.","tags":["reddit"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.reddit.com/r/<subreddit>. A sort suffix (/hot, /new, /top, /rising) is accepted too. /r/all and /r/popular work.","example":["https://www.reddit.com/r/programming"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.reddit.com/r/<subreddit>. A sort suffix (/hot, /new, /top, /rising) is accepted too. /r/all and /r/popular work.","example":"https://www.reddit.com/r/programming"},"provider":{"type":"string","enum":["apify/harshmaur","apify/trudax"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."},"options":{"type":"object","additionalProperties":false,"description":"Service-specific options. Unknown keys are rejected.","properties":{"sort":{"description":"Listing sort. Overrides a sort suffix present in the URL.","type":"string","enum":["hot","new","top","rising"]},"time":{"description":"Time window, applied when sort is \"top\".","type":"string","enum":["hour","day","week","month","year","all"]},"postedAfter":{"description":"Only posts created on/after this UTC date (offer-dependent).","type":"string","format":"date"},"postedBefore":{"description":"Only posts created before this UTC date (offer-dependent).","type":"string","format":"date"}}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/linkedin/company.info":{"post":{"operationId":"run_linkedin_company_info","summary":"linkedin/company.info","description":"Run linkedin/company.info (url-kind). Offers in failover order: brightdata/linkedin ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["linkedin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.linkedin.com/company/<slug>","example":["https://www.linkedin.com/company/microsoft"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.linkedin.com/company/<slug>","example":"https://www.linkedin.com/company/microsoft"},"provider":{"type":"string","enum":["brightdata/linkedin"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/linkedin/job.info":{"post":{"operationId":"run_linkedin_job_info","summary":"linkedin/job.info","description":"Run linkedin/job.info (url-kind). Offers in failover order: brightdata/linkedin ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["linkedin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.linkedin.com/jobs/view/<job_id>","example":["https://www.linkedin.com/jobs/view/4015234567"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.linkedin.com/jobs/view/<job_id>","example":"https://www.linkedin.com/jobs/view/4015234567"},"provider":{"type":"string","enum":["brightdata/linkedin"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/instagram/profile.info":{"post":{"operationId":"run_instagram_profile_info","summary":"instagram/profile.info","description":"Run instagram/profile.info (url-kind). Offers in failover order: brightdata/instagram ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["instagram"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.instagram.com/<username>","example":["https://www.instagram.com/instagram"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.instagram.com/<username>","example":"https://www.instagram.com/instagram"},"provider":{"type":"string","enum":["brightdata/instagram"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/instagram/post.info":{"post":{"operationId":"run_instagram_post_info","summary":"instagram/post.info","description":"Run instagram/post.info (url-kind). Offers in failover order: brightdata/instagram ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["instagram"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.instagram.com/p/<shortcode>. Reel URLs (/reel/<shortcode>) are accepted too.","example":["https://www.instagram.com/p/C1aBcDeFgHi/"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.instagram.com/p/<shortcode>. Reel URLs (/reel/<shortcode>) are accepted too.","example":"https://www.instagram.com/p/C1aBcDeFgHi/"},"provider":{"type":"string","enum":["brightdata/instagram"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/instagram/reel.info":{"post":{"operationId":"run_instagram_reel_info","summary":"instagram/reel.info","description":"Run instagram/reel.info (url-kind). Offers in failover order: brightdata/instagram ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["instagram"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.instagram.com/reel/<shortcode>. One reel per URL.","example":["https://www.instagram.com/reel/C1aBcDeFgHi/"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.instagram.com/reel/<shortcode>. One reel per URL.","example":"https://www.instagram.com/reel/C1aBcDeFgHi/"},"provider":{"type":"string","enum":["brightdata/instagram"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/instagram/post.comments":{"post":{"operationId":"run_instagram_post_comments","summary":"instagram/post.comments","description":"Run instagram/post.comments (url-kind). Offers in failover order: brightdata/instagram ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["instagram"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.instagram.com/p/<shortcode>. Reel URLs (/reel/<shortcode>) are accepted too.","example":["https://www.instagram.com/p/C1aBcDeFgHi/"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.instagram.com/p/<shortcode>. Reel URLs (/reel/<shortcode>) are accepted too.","example":"https://www.instagram.com/p/C1aBcDeFgHi/"},"provider":{"type":"string","enum":["brightdata/instagram"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/facebook/profile.posts":{"post":{"operationId":"run_facebook_profile_posts","summary":"facebook/profile.posts","description":"Run facebook/profile.posts (url-kind). Offers in failover order: brightdata/facebook ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["facebook"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.facebook.com/<username>. A numeric-ID profile URL (facebook.com/profile.php?id=<id>) also works.","example":["https://www.facebook.com/zuck"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.facebook.com/<username>. A numeric-ID profile URL (facebook.com/profile.php?id=<id>) also works.","example":"https://www.facebook.com/zuck"},"provider":{"type":"string","enum":["brightdata/facebook"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/facebook/group.posts":{"post":{"operationId":"run_facebook_group_posts","summary":"facebook/group.posts","description":"Run facebook/group.posts (url-kind). Offers in failover order: brightdata/facebook ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["facebook"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.facebook.com/groups/<group_id>","example":["https://www.facebook.com/groups/programmerspace"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.facebook.com/groups/<group_id>","example":"https://www.facebook.com/groups/programmerspace"},"provider":{"type":"string","enum":["brightdata/facebook"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/facebook/post.comments":{"post":{"operationId":"run_facebook_post_comments","summary":"facebook/post.comments","description":"Run facebook/post.comments (url-kind). Offers in failover order: brightdata/facebook ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["facebook"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.facebook.com/<page>/posts/<post_id>","example":["https://www.facebook.com/nasa/posts/pfbid02XyZAbC123"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.facebook.com/<page>/posts/<post_id>","example":"https://www.facebook.com/nasa/posts/pfbid02XyZAbC123"},"provider":{"type":"string","enum":["brightdata/facebook"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/facebook/marketplace.listings":{"post":{"operationId":"run_facebook_marketplace_listings","summary":"facebook/marketplace.listings","description":"Run facebook/marketplace.listings (url-kind). Offers in failover order: brightdata/facebook ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["facebook"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.facebook.com/marketplace/item/<item_id>","example":["https://www.facebook.com/marketplace/item/1234567890123456"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.facebook.com/marketplace/item/<item_id>","example":"https://www.facebook.com/marketplace/item/1234567890123456"},"provider":{"type":"string","enum":["brightdata/facebook"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/facebook/post.info":{"post":{"operationId":"run_facebook_post_info","summary":"facebook/post.info","description":"Run facebook/post.info (url-kind). Offers in failover order: brightdata/facebook ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["facebook"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.facebook.com/<page>/posts/<post_id>","example":["https://www.facebook.com/nasa/posts/pfbid02XyZAbC123"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.facebook.com/<page>/posts/<post_id>","example":"https://www.facebook.com/nasa/posts/pfbid02XyZAbC123"},"provider":{"type":"string","enum":["brightdata/facebook"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/facebook/event.info":{"post":{"operationId":"run_facebook_event_info","summary":"facebook/event.info","description":"Run facebook/event.info (url-kind). Offers in failover order: brightdata/facebook ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["facebook"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.facebook.com/events/<event_id>","example":["https://www.facebook.com/events/1234567890123456"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.facebook.com/events/<event_id>","example":"https://www.facebook.com/events/1234567890123456"},"provider":{"type":"string","enum":["brightdata/facebook"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/facebook/profile.reels":{"post":{"operationId":"run_facebook_profile_reels","summary":"facebook/profile.reels","description":"Run facebook/profile.reels (url-kind). Offers in failover order: brightdata/facebook ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["facebook"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.facebook.com/<username>. A numeric-ID profile URL (facebook.com/profile.php?id=<id>) also works.","example":["https://www.facebook.com/zuck"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.facebook.com/<username>. A numeric-ID profile URL (facebook.com/profile.php?id=<id>) also works.","example":"https://www.facebook.com/zuck"},"provider":{"type":"string","enum":["brightdata/facebook"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/facebook/page.reviews":{"post":{"operationId":"run_facebook_page_reviews","summary":"facebook/page.reviews","description":"Run facebook/page.reviews (url-kind). Offers in failover order: brightdata/facebook ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["facebook"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.facebook.com/<page>","example":["https://www.facebook.com/nasa"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.facebook.com/<page>","example":"https://www.facebook.com/nasa"},"provider":{"type":"string","enum":["brightdata/facebook"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/facebook/profile.info":{"post":{"operationId":"run_facebook_profile_info","summary":"facebook/profile.info","description":"Run facebook/profile.info (url-kind). Offers in failover order: brightdata/facebook ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["facebook"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.facebook.com/<username>. A numeric-ID profile URL (facebook.com/profile.php?id=<id>) also works.","example":["https://www.facebook.com/zuck"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.facebook.com/<username>. A numeric-ID profile URL (facebook.com/profile.php?id=<id>) also works.","example":"https://www.facebook.com/zuck"},"provider":{"type":"string","enum":["brightdata/facebook"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/tiktok/profile.info":{"post":{"operationId":"run_tiktok_profile_info","summary":"tiktok/profile.info","description":"Run tiktok/profile.info (url-kind). Offers in failover order: brightdata/tiktok ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["tiktok"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.tiktok.com/@<handle>","example":["https://www.tiktok.com/@tiktok"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.tiktok.com/@<handle>","example":"https://www.tiktok.com/@tiktok"},"provider":{"type":"string","enum":["brightdata/tiktok"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/tiktok/video.info":{"post":{"operationId":"run_tiktok_video_info","summary":"tiktok/video.info","description":"Run tiktok/video.info (url-kind). Offers in failover order: brightdata/tiktok ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["tiktok"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.tiktok.com/@<handle>/video/<video_id>","example":["https://www.tiktok.com/@tiktok/video/7106594312292453675"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.tiktok.com/@<handle>/video/<video_id>","example":"https://www.tiktok.com/@tiktok/video/7106594312292453675"},"provider":{"type":"string","enum":["brightdata/tiktok"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/tiktok/video.comments":{"post":{"operationId":"run_tiktok_video_comments","summary":"tiktok/video.comments","description":"Run tiktok/video.comments (url-kind). Offers in failover order: brightdata/tiktok ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["tiktok"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.tiktok.com/@<handle>/video/<video_id>","example":["https://www.tiktok.com/@tiktok/video/7106594312292453675"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.tiktok.com/@<handle>/video/<video_id>","example":"https://www.tiktok.com/@tiktok/video/7106594312292453675"},"provider":{"type":"string","enum":["brightdata/tiktok"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/youtube/video.comments":{"post":{"operationId":"run_youtube_video_comments","summary":"youtube/video.comments","description":"Run youtube/video.comments (url-kind). Offers in failover order: brightdata/youtube ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["youtube"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.youtube.com/watch?v=<video_id>. youtu.be and /shorts/ URLs are accepted too.","example":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.youtube.com/watch?v=<video_id>. youtu.be and /shorts/ URLs are accepted too.","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"},"provider":{"type":"string","enum":["brightdata/youtube"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/reddit/post.info":{"post":{"operationId":"run_reddit_post_info","summary":"reddit/post.info","description":"Run reddit/post.info (url-kind). Offers in failover order: brightdata/reddit ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["reddit"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.reddit.com/r/<subreddit>/comments/<post_id>/<slug>","example":["https://www.reddit.com/r/programming/comments/1abcd2/some_title/"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.reddit.com/r/<subreddit>/comments/<post_id>/<slug>","example":"https://www.reddit.com/r/programming/comments/1abcd2/some_title/"},"provider":{"type":"string","enum":["brightdata/reddit"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/reddit/post.comments":{"post":{"operationId":"run_reddit_post_comments","summary":"reddit/post.comments","description":"Run reddit/post.comments (url-kind). Offers in failover order: brightdata/reddit ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["reddit"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.reddit.com/r/<subreddit>/comments/<post_id>/<slug>","example":["https://www.reddit.com/r/programming/comments/1abcd2/some_title/"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.reddit.com/r/<subreddit>/comments/<post_id>/<slug>","example":"https://www.reddit.com/r/programming/comments/1abcd2/some_title/"},"provider":{"type":"string","enum":["brightdata/reddit"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/pinterest/pin.info":{"post":{"operationId":"run_pinterest_pin_info","summary":"pinterest/pin.info","description":"Run pinterest/pin.info (url-kind). Offers in failover order: brightdata/pinterest ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["pinterest"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.pinterest.com/pin/<pin_id>","example":["https://www.pinterest.com/pin/99360735500167749/"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.pinterest.com/pin/<pin_id>","example":"https://www.pinterest.com/pin/99360735500167749/"},"provider":{"type":"string","enum":["brightdata/pinterest"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/pinterest/profile.info":{"post":{"operationId":"run_pinterest_profile_info","summary":"pinterest/profile.info","description":"Run pinterest/profile.info (url-kind). Offers in failover order: brightdata/pinterest ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["pinterest"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.pinterest.com/<username>","example":["https://www.pinterest.com/pinterest/"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.pinterest.com/<username>","example":"https://www.pinterest.com/pinterest/"},"provider":{"type":"string","enum":["brightdata/pinterest"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/bluesky/post.info":{"post":{"operationId":"run_bluesky_post_info","summary":"bluesky/post.info","description":"Run bluesky/post.info (url-kind). Offers in failover order: brightdata/bluesky ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["bluesky"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://bsky.app/profile/<handle>/post/<post_id>","example":["https://bsky.app/profile/bsky.app/post/3kkrqzuydho2v"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://bsky.app/profile/<handle>/post/<post_id>","example":"https://bsky.app/profile/bsky.app/post/3kkrqzuydho2v"},"provider":{"type":"string","enum":["brightdata/bluesky"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/x/post.info":{"post":{"operationId":"run_x_post_info","summary":"x/post.info","description":"Run x/post.info (url-kind). Offers in failover order: brightdata/x ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["x"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://x.com/<handle>/status/<tweet_id>","example":["https://x.com/elonmusk/status/1234567890123456789"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://x.com/<handle>/status/<tweet_id>","example":"https://x.com/elonmusk/status/1234567890123456789"},"provider":{"type":"string","enum":["brightdata/x"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/x/profile.info":{"post":{"operationId":"run_x_profile_info","summary":"x/profile.info","description":"Run x/profile.info (url-kind). Offers in failover order: brightdata/x ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["x"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://x.com/<handle>. twitter.com URLs are accepted too.","example":["https://x.com/elonmusk"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://x.com/<handle>. twitter.com URLs are accepted too.","example":"https://x.com/elonmusk"},"provider":{"type":"string","enum":["brightdata/x"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/snapchat/post.info":{"post":{"operationId":"run_snapchat_post_info","summary":"snapchat/post.info","description":"Run snapchat/post.info (url-kind). Offers in failover order: brightdata/snapchat ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["snapchat"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.snapchat.com/spotlight/<id>","example":["https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYcnJsbWlkc2hjAZBBUFViAZBBUFVSAAAAAA"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.snapchat.com/spotlight/<id>","example":"https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYcnJsbWlkc2hjAZBBUFViAZBBUFVSAAAAAA"},"provider":{"type":"string","enum":["brightdata/snapchat"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/snapchat/profile.info":{"post":{"operationId":"run_snapchat_profile_info","summary":"snapchat/profile.info","description":"Run snapchat/profile.info (url-kind). Offers in failover order: brightdata/snapchat ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["snapchat"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.snapchat.com/@<username>. The /add/<username> form works too.","example":["https://www.snapchat.com/@team.snapchat"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.snapchat.com/@<username>. The /add/<username> form works too.","example":"https://www.snapchat.com/@team.snapchat"},"provider":{"type":"string","enum":["brightdata/snapchat"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/googlemaps/place.reviews":{"post":{"operationId":"run_googlemaps_place_reviews","summary":"googlemaps/place.reviews","description":"Run googlemaps/place.reviews (url-kind). Offers in failover order: brightdata/googlemaps ($0.001725/record, max 1000 inputs). The response's `served_by` names the offer that actually ran.","tags":["googlemaps"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Batch form. https://www.google.com/maps/place/<name>/...","example":["https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2919064,17z"]},"url":{"type":"string","description":"Single-input form of 'urls'. https://www.google.com/maps/place/<name>/...","example":"https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2919064,17z"},"provider":{"type":"string","enum":["brightdata/googlemaps"],"description":"Pin a specific offer ('source/name'). Omit to let the router pick the head of the failover chain and fall over on errors."},"limit":{"type":"integer","minimum":1,"maximum":250,"default":100,"description":"Maximum records to return (per input for some offers)."}},"additionalProperties":false}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"400":{"$ref":"#/components/responses/ValidationError"},"402":{"$ref":"#/components/responses/BillingError"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/ProviderError"},"504":{"$ref":"#/components/responses/Timeout"}}}},"/v1/services":{"get":{"operationId":"list_services","summary":"Service catalogue","description":"Every implemented service with its offers in failover order, customer prices, caps, input shapes and typed options.","tags":["catalogue"],"responses":{"200":{"description":"The catalogue."}}}},"/v1/services/{platform}":{"get":{"operationId":"list_platform_services","summary":"Services of one platform","tags":["catalogue"],"parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The platform's services."},"404":{"$ref":"#/components/responses/NotFound"}}}},"/v1/providers":{"get":{"operationId":"list_sources","summary":"Data sources","description":"Lightweight per-source view (marketing/trust). Detailed offers live on /v1/services.","tags":["catalogue"],"responses":{"200":{"description":"The sources."}}}},"/v1/extractions/{id}":{"get":{"operationId":"get_extraction","summary":"Fetch a past run by id","tags":["extractions"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The run.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extraction"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/v1/account/balance":{"get":{"operationId":"get_balance","summary":"Credit balance","tags":["account"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"The balance."}}}},"/v1/account/usage":{"get":{"operationId":"get_usage","summary":"Usage summary","tags":["account"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":365,"default":30}}],"responses":{"200":{"description":"The summary."},"400":{"$ref":"#/components/responses/ValidationError"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key"}},"schemas":{"Extraction":{"type":"object","properties":{"id":{"type":"string","example":"ext_Ab3dEf..."},"status":{"type":"string","enum":["pending","completed","failed"]},"platform":{"type":"string","example":"reddit"},"service":{"type":"string","example":"subreddit.posts"},"url":{"type":"string","description":"Primary input (first URL or query)."},"queries":{"type":"array","items":{"type":"string"},"description":"Query-kind services only."},"served_by":{"type":["string","null"],"example":"apify/harshmaur","description":"The offer that actually served the request."},"fallback_from":{"type":"string","description":"Set when a fallback served. Names the offer that was first in the chain."},"credits_used":{"type":"number"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ExtractionRecord"}},"pagination":{"type":"object","properties":{"total":{"type":"integer"},"returned":{"type":"integer"}}},"created_at":{"type":"string","format":"date-time"},"completed_at":{"type":["string","null"],"format":"date-time"}}},"ExtractionRecord":{"type":"object","description":"Normalized record. Base fields below, with service-specific fields alongside.","properties":{"name":{"type":"string"},"profile_url":{"type":"string"},"source":{"type":"string","description":"Platform the record came from."},"extracted_at":{"type":"string","format":"date-time"}},"additionalProperties":true},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string","description":"Corrective, written for an LLM reader."},"type":{"type":"string"}}}}}},"responses":{"ValidationError":{"description":"Invalid request. The message names the field, the expected format, and an example.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"BillingError":{"description":"Insufficient credits.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Unknown platform/service/resource. The message lists valid alternatives.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"RateLimited":{"description":"Rate or credit limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ProviderError":{"description":"Every offer in the failover chain failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Timeout":{"description":"Request timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}