Search Meta's public Ad Library by brand/keyword or advertiser Page ID and export live ad creatives — CTA text, ad copy, images, platforms, active status. No Meta login, access token, or App Review required. A Meta/Facebook Ads Library API alternative and data exporter.
Fixed a cloud-only pagination failure found by cloud QA on build 0.0.1
(run W3a9kgSKXbMf7X2fS): the Actor SUCCEEDED with exit code 0 after
delivering only page 1 (30 ads) of an 8-page request. Root cause,
confirmed live: Meta's /api/graphql/ pagination endpoint applies a much
stricter per-IP rate limit than the public search page — a datacenter-tier
proxy gets an HTTP 200 carrying a GraphQL error envelope
({"errors":[{"message":"Rate limit exceeded","code":1675004}]}) on the
very first pagination request, which the old code silently downgraded to
a "partial success" warning.
Proxy default changed to apifyProxyGroups: ["RESIDENTIAL"] — confirmed
live this clears the rate limit (60 pages / 581 unique ads, zero blocks).
This changes the Actor's cost profile (residential proxy bandwidth is
billed higher than datacenter); flagged here for the pricing owner to
factor in before publish, not decided unilaterally in this change.
A run that asks for maxPages > 1 and can't get past page 1 due to this
class of failure now raises (non-zero exit), while still pushing/charging
for whatever real ads it already collected on page 1. A genuine end of
results (has_next_page: false) is unaffected and still reports success.
New MetaPaginationError distinguishes "pagination never got off the
ground" (loud failure) from "pagination worked, then hit a late rate
limit" (legitimate partial success, unchanged behavior).
The actual GraphQL error body is now logged in full on any unparseable
pagination response, instead of a generic "unexpected shape" warning.
0.1.0 — 2026-09-12
Initial build. Searches Meta's public Ad Library by query or advertiser
Page ID via a challenge-replay unblock (curl_cffi, chrome131, no
login/token/App Review) and full GraphQL pagination
(AdLibrarySearchPaginationQuery, doc_id=24922295957467452) —
live-verified to 60 pages / 581 unique ads on one query before this
release shipped.