Facebook

Facebook Ad Library

Ad Details

per_call

Returns everything the Ad Library exposes for one ad: creative body and headline text, call-to-action, image and video assets, landing page, platforms it runs on, start and stop dates, and impression or spend ranges where disclosed. The unit of analysis for competitive ad research.

What you get

Each call returns one ad record. There is no pagination.

Endpoint

GET /v1/facebook-ad-library/ad-details

Price

$1.50

per 1,000 calls · $0.0015 per call

Cost per call

1 credit

Failed calls never charged

Parameters

target
required
string

The ad archive id, as returned in `ad_archive_id` by the company or search endpoints. A page name will not resolve.

fresh
optional
enum

Bypass cached data and force a live fetch for this one call. Use it for daily monitoring or any figure you are tracking over time. Accepts `true`, `1`, `false` or `0`; anything else returns 400 `invalid_fresh`. Defaults to false and costs exactly the same as a cached call.

One of: true, 1, false, 0

Example request

Live call. Successful calls are charged; failed and empty results are not.

curl
curl "https://fastfetchz.com/v1/facebook-ad-library/ad-details?target=1725806052073781" \
  -H "X-API-Key: $FASTFETCHZ_KEY"

Example response

200 application/json
{
  "success": true,
  "service": {
    "platform": "Facebook Ad Library",
    "name": "Ad Details",
    "slug": "ad-details"
  },
  "credits_charged": 1,
  "credits_remaining": 99,
  "latency_ms": 214,
  "data": {
    "query": "nasa",
    "ads": [
      {
        "ad_id": "ad_172881",
        "advertiser": {
          "name": "Sandbox Advertiser 21",
          "page_id": "172881"
        },
        "creative": {
          "headline": "Try our product today",
          "body": "Sandbox ad copy.",
          "media_type": "video"
        },
        "first_seen": "2026-08-17T21:21:14.029Z",
        "last_seen": "2026-10-16T21:21:14.029Z",
        "platforms": [
          "feed",
          "stories"
        ],
        "estimated_impressions": {
          "lower": 10000,
          "upper": 50000
        }
      },
      {
        "ad_id": "ad_195262",
        "advertiser": {
          "name": "Sandbox Advertiser 22",
          "page_id": "195262"
        },
        "creative": {
          "headline": "Try our product today",
          "body": "Sandbox ad copy.",
          "media_type": "video"
        },
        "first_seen": "2026-08-16T21:21:14.029Z",
        "last_seen": "2026-10-15T21:21:14.029Z",
        "platforms": [
          "feed",
          "stories"
        ],
        "estimated_impressions": {
          "lower": 20000,
          "upper": 100000
        }
      }
    ]
  }
}

Limits

  • Maximum per call: 1 ads.
  • Minimum per call: 1 ad — a target with less data returns fewer ads, and an empty result is still a successful call.
  • Each call fetches a full page of up to 1 and costs the same either way. Pass limit to receive fewer than that in the response.
  • This endpoint returns a single record per call and is not paginated.

What this costs in practice

10,000 ads = 10,000 calls × 1 credits per call = 10,000 credits = $0.00

Priced at the Custom pack rate: 1,000,000 credits for $0.00.

Open in the pricing calculator

Error codes

401invalid_api_keyMissing or unrecognized X-API-Key header. No credits are charged.
402insufficient_creditsYour balance is below the cost of the call. Top up to continue.
403account_suspended / key_revokedThe account is suspended or the key was revoked.
429rate_limitedOver your account's requests-per-second limit. Retrying helps: the body carries retry_after_seconds and the response carries a Retry-After header. Not charged.
429monthly_cap_reachedThis key used the monthly call cap you set for it. Retrying will not help — raise the cap, use another key, or wait for the next calendar month. No Retry-After header is sent. Not charged.
500upstream_errorUnexpected failure while fulfilling the request. Not charged.