Facebook Ad Library Ad Transcript API

Get native captions or an AI transcript for a Facebook Ad Library video ad by ID or URL. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed.

Returned native captions cost 1 credit, even for long videos with the paid flag. By default, successful AI up to 120 seconds costs a flat 1 credit per request; over 120 seconds requires allow_long_transcription=true, which bills ALL successful AI at 10 credits per started minute, including short videos; empty AI results and errors cost 0 credits; no transcript: 0 credits
GET
/v1/facebook/adLibrary/ad/transcript
curl "https://api.scrapecreators.com/v1/facebook/adLibrary/ad/transcript" \
  -H "x-api-key: "
{
  "success": true,
  "credits_remaining": 100,
  "data": {
    "ad_id": "1020359190509080",
    "url": "https://www.facebook.com/ads/library?id=1020359190509080",
    "transcript": "Sample transcript text from the ad video...",
    "transcript_available": true
  }
}

Headers

x-api-key
string
required

Your Scrape Creators API key

Query Parameters

allow_long_transcription
boolean

Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed.

Successful AI in paid mode: 10 credits per started minute. Dedicated transcript routes charge this instead of a native-caption fee; detail routes add this to the existing base cost.
Example:
false
id
string

Facebook Ad Id

Example:
1020359190509080
url
string

Facebook Ad URL

Example:
https://www.facebook.com/ads/library?id=1020359190509080
cache_max_age
string

If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (Returned native captions cost 1 credit, even for long videos with the paid flag. By default, successful AI up to 120 seconds costs a flat 1 credit per request; over 120 seconds requires allow_long_transcription=true, which bills ALL successful AI at 10 credits per started minute, including short videos; empty AI results and errors cost 0 credits; no transcript: 0 credits). See the Caching page for details.

Example:
7d
Available options:
1d,
3d,
7d,
14d,
30d

Response Field Explanations

data.transcript
Transcript text for the ad video, or null when unavailable.
duration_seconds
Present only when an AI transcript is returned: media duration in seconds. For Instagram carousels, this is the total (sum) duration of successfully transcribed videos. Only paid mode rounds each video's billable minutes separately; default carousel pricing stays flat at 1 credit per request.
duration_minutes
Present only when an AI transcript is returned: duration_seconds / 60 rounded to two decimal places, not the rounded-up billable minutes in paid mode. Default successful short AI remains 1 credit per request. Use credits_charged for the actual charge.