AS
Apify Store
/automation-lab/facebook-ads-library
Facebook Ads Library Scraper
Scrape Facebook / Meta Ad Library for competitor ad monitoring. Search by keyword, Page URL, pasted Ads Library URL, country, status, and media type. Extract creatives, copy, links, media, platforms,
liveasyncunknown~30s typical
social mediamarketinglead generationfacebookadslibrary
$0.00072
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.000575 per result; Cracked adds 25% plus a $0.005 call fee
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /automation-lab/facebook-ads-library for me.
Input
| Field | Type | Description |
|---|---|---|
| searchQueries | array | Enter keywords to search for in the Ad Library (e.g. "shopify", "running shoes"). Each keyword runs a separate search. Safety cap: up to 20 total search/page/Ads Library URL tasks per run. |
| pageUrls | array | Enter Facebook Page URLs to scrape ads from specific advertisers (e.g. "https://www.facebook.com/shopify"). Safety cap: up to 20 total search/page/Ads Library URL tasks per run. |
| adsLibraryUrls | array | Paste Facebook Ads Library results URLs copied from facebook.com/ads/library/. Embedded URL filters (keyword, page ID, country, status, media type, search type, and supported ad type) are used for this input; unsupported URL parameters such as date, language, or platform filters are ignored with a warning. Safety cap: up to 20 total search/page/Ads Library URL tasks per run. |
| country | string | ISO country code to search in. Use "ALL" for all countries. default "US" |
| activeStatus | string (all | active | inactive) | Filter by ad status. default "all" |
| mediaType | string (all | image_and_meme | video) | Filter by ad media type. default "all" |
| onlyAdsNewerThan | string | Optional inclusive lower bound for the ad activity interval. Use YYYY-MM-DD or a positive relative duration such as "30 days". An ad matches when its start/end activity interval overlaps the requested date window. default "" |
| onlyAdsOlderThan | string | Optional inclusive upper bound for the ad activity interval. Use YYYY-MM-DD or a positive relative duration such as "90 days". Active ads with no end date are handled as still active. default "" |
| maxAds | integer | Maximum number of ads to extract per search query, page URL, or Ads Library URL. The scraper scrolls to load more results automatically. Safety cap: 500 per search/page task; split very large exports into smaller runs for clearer progress and lower abort risk. default 100 |
Call it
curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
-H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
-d '{"provider":"apify","endpoint":"/automation-lab/facebook-ads-library","input":{"searchQueries":["shopify"],"pageUrls":[],"adsLibraryUrls":[],"country":"US","activeStatus":"all","mediaType":"all","onlyAdsNewerThan":"","onlyAdsOlderThan":"","maxAds":3},"wait":false}'poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."cli
npx cracked-ai run -p apify -e /automation-lab/facebook-ads-library -i '{"searchQueries":["shopify"],"pageUrls":[],"adsLibraryUrls":[],"country":"US","activeStatus":"all","mediaType":"all","onlyAdsNewerThan":"","onlyAdsOlderThan":"","maxAds":3}' -w 120mcp
run_tool({ provider: "apify", endpoint: "/automation-lab/facebook-ads-library", input: {"searchQueries":["shopify"],"pageUrls":[],"adsLibraryUrls":[],"country":"US","activeStatus":"all","mediaType":"all","onlyAdsNewerThan":"","onlyAdsOlderThan":"","maxAds":3}, wait: false })Try it
Runs against your signed-in workspace balance. Sign in if you have not.