Facebook API

Facebook Ad details API

Look up a single Meta Ad Library ad by ID or URL and get the advertiser, creative text, call-to-action, platforms, and run dates as clean JSON.

$1.20/1k req, pay per request, no subscription.

What the API returned
{
"adArchiveId":ย "962050096457659",
"sourceUrl":ย "https://www.facebook.com/ads/library/?id=962050096457659",
"pageId":ย "104882733481920",
"pageName":ย "Solace Sleep",
"active":ย true,
"startDate":ย 1757894400,
"endDate":ย null,
"currency":ย "USD",
... 17 more fields
}
Uptime
99.82%
30d ยท 10,999 calls
Requests
10,999
30d ยท weekly, last 12 wks
Response
2.0s
median ยท 30d

Pricing and providers

Facebook Ad details API pricing: one API, 2 interchangeable providers

The cheapest provider serves first. If it fails, the next one takes over in the same call.

You pay
$12.00
$1.20/1k req, only for what you use. No monthly plan.
Your first 83 requests are free with the $0.10 starting balance.

Try it

Get Facebook ad details in one request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.

This sample shows 25 of 42 fields. See every field

{
  "found": true,
  "data": {
    "adArchiveId": "962050096457659",
    "sourceUrl": "https://www.facebook.com/ads/library/?id=962050096457659",
    "pageId": "104882733481920",
    "pageName": "Solace Sleep",
    "active": true,
    "startDate": 1757894400,
    "endDate": null,
    "currency": "USD",
    "text": "Fall asleep 40% faster with the Solace weighted blanket. Engineered with glass microbeads for even pressure all night. Ships free, try it for 100 nights.",
    "title": "The blanket that ends 2am scrolling",
    "ctaText": "Shop Now",
    "linkUrl": "https://solacesleepco.com/weighted-blanket?utm_source=fb",
    "displayFormat": "VIDEO",
    "platforms": [
      "facebook",
      "instagram",
      "messenger"
    ],
    "pageProfilePicture": "https://scontent.fbcdn.net/solace-profile.jpg",
    "caption": "solacesleepco.com",
    "linkDescription": "Free shipping. 100 night trial. Financing available.",
    "pageUrl": "https://www.facebook.com/solacesleepco",
    "pageCategories": [
      "Product/service",
      "Home decor"
    ],
    "pageLikes": 48200,
    "isReshared": false,
    "pageDeleted": false,
    "categories": [
      "Uncategorized"
    ]
  }
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

One request, one response shape.

Every field you send and every field you get back, each with a real example.

Last verified 2026-10-31 ยท uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • idstring

    962050096457659

    Meta Ad Library ad ID (e.g. "702369045530963"). Provide either id or url.

  • urlstring

    Meta Ad Library ad URL (e.g. "https://www.facebook.com/ads/library?id=1185617869915074"). Provide either id or url.

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

datadata
  • activeboolean

    true

    Whether the ad is currently running.

  • adArchiveIdstring

    962050096457659

    Ad Library archive ID (stable identity). Populated whenever the provider has data for the entity.

  • captionstring

    solacesleepco.com

    Caption line of the ad creative, usually the advertiser's display domain.

  • categoriesstring[]

    Ad Library categories the ad is filed under.

  • ctaTextstring

    Shop Now

    Call-to-action label. Populated whenever the provider has data for the entity.

  • currencystring

    USD

    Spend currency, may be empty.

  • displayFormatstring

    VIDEO

    Ad creative format. Populated whenever the provider has data for the entity.

  • endDateinteger

    null

    Run end, epoch seconds.

  • isResharedboolean

    false

    Whether the ad creative is a reshare of another post.

  • linkDescriptionstring

    Free shipping. 100 night trial. Financing available.

    Description text shown under the ad's link.

  • linkUrlstring

    https://solacesleepco.com/weighted-blanket?utm_source=fb

    Creative destination URL. Populated whenever the provider has data for the entity.

  • pageCategoriesstring[]

    Categories Facebook lists the advertising page under.

  • pageDeletedboolean

    false

    Whether the advertising page has been deleted.

  • pageIdstring

    104882733481920

    Advertiser page ID (stable identity). Populated whenever the provider has data for the entity.

  • pageLikesinteger

    48200

    Like count of the advertising page.

  • pageNamestring

    Solace Sleep

    Advertiser page name. Populated whenever the provider has data for the entity.

  • pageProfilePicturestring

    https://scontent.fbcdn.net/solace-profile.jpg

    Profile picture of the advertising page. This is the advertiser's identity image, not ad creative.

  • pageUrlstring

    https://www.facebook.com/solacesleepco

    Canonical Facebook URL of the advertising page.

  • platformsstring[]

    Publisher platforms the ad runs on. Populated whenever the provider has data for the entity.

  • sourceUrlstring

    https://www.facebook.com/ads/library/?id=962050096457659

    Inspectable Meta Ad Library URL for this ad. Populated whenever the provider has data for the entity.

  • startDateinteger

    1757894400

    Run start, epoch seconds. Populated whenever the provider has data for the entity.

  • textstring

    Fall asleep 40% faster with the Solace weighted blanket. Engineered with glass microbeads for even pressure all night. Ships free, try it for 100 nights.

    Ad body text. Populated whenever the provider has data for the entity.

  • titlestring

    The blanket that ends 2am scrolling

    Creative title. Populated whenever the provider has data for the entity.

each creativedata.creatives[]

One entry per card of a carousel, dynamic-product, or dynamic-creative ad, in the order Meta returns them, each with its own text and destination. Single-creative ads return an empty array. The same card images and videos also appear in media. Meta CDN media URLs are signed and expire.

  • bodystring

    Card body text.

  • captionstring

    Card display caption, usually the destination domain.

  • ctaTextstring

    Card call-to-action label (e.g. "Shop Now").

  • ctaTypestring

    Card call-to-action type (e.g. "SHOP_NOW").

  • imagestring

    Card image URL. For a video card this is the poster frame.

  • linkDescriptionstring

    Card secondary description line.

  • linkUrlstring

    Card destination URL.

  • titlestring

    Card headline.

  • videoUrlstring

    Card video file URL (HD when supplied, otherwise SD). Present only on video cards.

each mediadata.media[]

Creative attached to the ad: one element per image, video, or carousel card, in the order the ad presents them. Empty when the ad has none.

  • heightinteger

    Pixel height of the media item, when the lane reports it.

  • typestring

    One of photo, video, or gif.

  • urlstring

    Image URL. For a video or GIF this is the poster/thumbnail frame.

  • videoUrlstring

    Playable video file URL. Present only for video and gif items.

  • widthinteger

    Pixel width of the media item, when the lane reports it.

top level
  • foundboolean

    true

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the Facebook Ad details API

The AnyAPI Facebook Ad details API returns Facebook ad details data as normalized JSON from one POST call to /v1/run/facebook.ad_details. Look up a single Meta Ad Library ad by ID or URL and get the advertiser, creative text, call-to-action, platforms, and run dates as clean JSON. AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 99.8% of Facebook ad details calls through AnyAPI succeeded, with a median response time of 2.0 seconds across 10,999 measured calls.

It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

Look up a single Meta Ad Library ad by ID or URL and get the advertiser, creative text, call-to-action, platforms, and run dates as clean JSON. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 99.8% of Facebook ad details calls through AnyAPI succeeded, with a median response time of 2.0 seconds across 10,999 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required, which covers 83 Facebook Ad details calls at $0.0012 each.

AnyAPI asks the next of its 2 sources in the same request, cheapest first, so one source going down does not fail your call.

Send a POST request to https://api.getanyapi.com/v1/run/facebook.ad_details with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.