Facebook Ad Library Byline & Advertiser Ad Finder
Pull Facebook Ad Library ads by advertiser Page ID, keyword, Ad ID, or "Paid for by" byline, with ad text, media, run dates, creative-reuse counts, and spend or impression ranges for political ads.
Open in Apify Store$0.99 / 1K on Free
Short answer
Facebook Ad Library Byline & Advertiser Ad Finder is an Apify Store Actor for Meta Ad Library data that returns 55 published output fields, including start_date, publisher_platform, page_url, ad_id. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 21 input settings; one is required (mode). It covers 3 of the 5 core Meta Ad Library fields this site tracks. Last updated Nov 4, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
55 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
ad_idpage_namead_textstart_datestatusmedia_typecta_textlink_urlpublisher_platformcollation_countspendimpressionsad_snapshot_urlsearch_termpage_idpage_urlresolved_ad_texttemplate_tokenstitlecaptionlink_descriptiondisplay_formatend_datedays_runningis_activemedia_urlimage_urlsvideo_urlscollation_idpage_like_count
Show the other 25 fields
page_categoriesadvertiser_ig_usernameadvertiser_ig_followersreach_estimatecurrencybylinedisclaimer_labelgated_typeregional_regulation_datacontains_digital_created_mediascraped_atcategoriesspend_lower_boundspend_upper_boundeu_total_reachtarget_age_audiencetarget_gender_audiencetarget_location_audienceage_country_gender_reach_breakdownpayer_beneficiaryaudience_age_genderaudience_locationaudience_single_countryviolation_typesis_violating_eu_siep
Not in the schema among the core Meta Ad Library fields: advertiser, ad_copy. The field matrix shows which other tools return them.
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | Yes | – | What to scrape. Leave empty to process every target list you filled in (searchTerms, pageIds, adIds, bylines) in one run. |
| searchTerms | array | No | [] | Keywords to search for in the Ad Library, one search per term. Example: ["coffee", "nike"]. |
| pageIds | array | No | [] | Facebook Page IDs to fetch all ads from (numeric IDs, or URLs containing view_all_page_id= or profile.php?id=). Each page is searched separately. |
| adIds | array | No | [] | Ad Library IDs to fetch directly (numeric IDs or Ads Library URLs containing ?id=). All other filters are ignored in this mode. |
| bylines | array | No | [] | Funding-entity / committee names from the "Paid for by" disclaimer on political and issue ads. The actor tries the exact-cased name, retries the original casing, and re-checks each returned ad's byline client-side. Non-EU targets search the political & issue archive; EU/EEA targets use the all-ad-ty |
| country | string | No | ALL | Country to search ads in, or ALL for every country. Ignored when the Countries multi-select below is set. |
| countries | array | No | [] | One or more country codes, searched together as a union (unlike the single Country field). Takes precedence over Country when set. |
| adActiveStatus | string | No | active | Filter by ad active status. |
| adType | string | No | all | Filter by ad category. Note: the political-and-issue archive excludes EU/EEA countries, so EU political searches automatically use All Types (EU transparency stream). |
| mediaType | string | No | all | Filter by the ad's creative media type. `meme` is applied server-side only; Meta's payload has no meme marker, so output `media_type` is always image, video or none. |
Show the other 11 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| publisherPlatforms | array | No | [] | Only return ads shown on these platforms. Leave empty for all platforms. |
| contentLanguages | array | No | [] | Only return ads whose creative is written in one of these languages. 2-letter ISO 639-1 codes; leave empty for every language. |
| searchType | string | No | keyword_unordered | How keyword search terms are matched (mode=search only). |
| startDate | string | No | – | Only include ads that had impressions on or after this date (YYYY-MM-DD). Combined with End Date it forms a delivery window. |
| endDate | string | No | – | Only include ads that had impressions on or before this date (YYYY-MM-DD). |
| sortBy | string | No | relevance | Order results by relevance (Facebook's default) or by total impressions. |
| resultsPerSearch | integer | No | 50 | Maximum number of ads to extract per search term / page / ad / byline. |
| maxItems | integer | No | 1000 | Stop the whole run after this many ads, across all search targets. |
| includeEuDetails | boolean | No | true | Fetch per-ad detail data: EU total reach, age/country/gender reach breakdown, targeting, payer/beneficiary, advertiser Instagram profile and page About. Adds one extra request per ad. |
| rehostMedia | boolean | No | true | Copy each ad's primary media (up to 15 MB) into this run's key-value store and output the permanent URL (Facebook's own media URLs expire after a few days). The original signed URL is kept in media_url_original; media_rehost_status records rehosted/disabled/too_large/download_failed/kv_failed. Array |
| onlyTotal | boolean | No | false | Skip ad scraping and return one total per search target per country (one lightweight page request per country, no browser). Counts respect the keyword, country, status, ad type, media type and date window; Facebook caps displayed totals at 50,001 (50,000+). Not available for byline or direct ad-ID t |
Example input
Built from the input form's published example values and defaults.
{
"mode": "search",
"searchTerms": [
"coffee"
],
"pageIds": [],
"adIds": [],
"bylines": [],
"country": "ALL",
"countries": [],
"adActiveStatus": "active",
"adType": "all",
"mediaType": "all",
"publisherPlatforms": [],
"contentLanguages": [],
"searchType": "keyword_unordered",
"sortBy": "relevance",
"resultsPerSearch": 3,
"maxItems": 3,
"includeEuDetails": false,
"rehostMedia": false,
"onlyTotal": false
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search",
"searchTerms": [
"coffee"
],
"pageIds": [],
"adIds": [],
"bylines": [],
"country": "ALL",
"countries": [],
"adActiveStatus": "active",
"adType": "all",
"mediaType": "all",
"publisherPlatforms": [],
"contentLanguages": [],
"searchType": "keyword_unordered",
"sortBy": "relevance",
"resultsPerSearch": 3,
"maxItems": 3,
"includeEuDetails": False,
"rehostMedia": False,
"onlyTotal": False
}
run = client.actor("nimbryxo-studio/facebook-ad-library-byline-and-advertiser-ad").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "search",
"searchTerms": [
"coffee"
],
"pageIds": [],
"adIds": [],
"bylines": [],
"country": "ALL",
"countries": [],
"adActiveStatus": "active",
"adType": "all",
"mediaType": "all",
"publisherPlatforms": [],
"contentLanguages": [],
"searchType": "keyword_unordered",
"sortBy": "relevance",
"resultsPerSearch": 3,
"maxItems": 3,
"includeEuDetails": false,
"rehostMedia": false,
"onlyTotal": false
};
const run = await client.actor("nimbryxo-studio/facebook-ad-library-byline-and-advertiser-ad").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/nimbryxo-studio~facebook-ad-library-byline-and-advertiser-ad/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"search","searchTerms":["coffee"],"pageIds":[],"adIds":[],"bylines":[],"country":"ALL","countries":[],"adActiveStatus":"active","adType":"all","mediaType":"all","publisherPlatforms":[],"contentLanguages":[],"searchType":"keyword_unordered","sortBy":"relevance","resultsPerSearch":3,"maxItems":3,"includeEuDetails":false,"rehostMedia":false,"onlyTotal":false}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=nimbryxo-studio/facebook-ad-library-byline-and-advertiser-ad",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among Meta Ad Library routes
It ranks 2 of 2 catalogue Actors for Meta Ad Library on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 Facebook Political & Commercial Ad Transparency Extractor 55 output fields, pay per event 3 of 5 core fields
$0.99 / 1K - 2 Facebook Ad Library Byline & Advertiser Ad Finder 55 output fields, pay per event 3 of 5 core fields
$0.99 / 1K - + 6 other Store tools, combined Reference only 3 of 5 core fields
from $0.75 / 1K - API Meta Ad Library API Limited access fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: Meta Ad Library API
Limited access. The Ad Library API is limited to ads about social issues, elections and politics. Researchers must complete identity and access checks.
No API fee is published; access is gated.
Other Store tools for Meta Ad Library
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| Facebook Ad Library Scraper | 56 | $0.75 |
| Facebook Ad Library Scraper | – | $0.75 |
| Facebook Ad Library Scraper · Meta Ads · Reach | – | $0.50 |
| Facebook Ad Library Scraper | 6 | $1.25 |
| Facebook & Instagram Ad Library Scraper (Meta) | 12 | $4.99 |
What people use it for
- Ad monitoring
- Creative analysis
- Advertiser research
Other catalogue Actors for Meta Ad Library
Facebook Political & Commercial Ad Transparency Extractor
Search the Facebook Ad Library by keyword, advertiser Page ID, Ad ID, or funding-entity name, and get ad text, media, run dates, platforms, and…
Similar Actors
LinkedIn Ad Library Keyword & Advertiser Scraper
Search the public LinkedIn Ad Library by keyword, advertiser, country, or date range, and get headline, body copy, advertiser info, media URLs,…
TikTok DSA Ads Transparency Library Scraper
Search TikTok's EU/EEA ad transparency database by keyword, advertiser or ad ID. Get creative media, advertiser identity, impression buckets,…
Facebook Business Page Finder by Keyword & City
Find Facebook business pages by direct URL, or discover them by keyword and city, and get names, categories, addresses, follower counts, contact…
Facebook Business Page Recommendation & Review Scraper
Get Facebook business page reviews by direct URL, business name search, or Page ID, with Recommended/Not Recommended status, owner replies, and…
Facebook Event Details & New-Event Monitor Scraper
Fetch public Facebook event details by URL, page listing, or keyword/city search, with venue GPS, hosts, ticket links, and a monitor mode that…
Facebook Group Feed & Engagement Extractor
Pull posts from any public Facebook group with full text, media, reaction breakdown, top comments and reshares, plus optional group member count,…
Questions people ask
How much does Facebook Ad Library Byline & Advertiser Ad Finder cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does Facebook Ad Library Byline & Advertiser Ad Finder return?
Its published output schema lists 55 fields: ad_id, page_name, ad_text, start_date, status, media_type, cta_text, link_url, publisher_platform, collation_count, spend, impressions, and 43 more. A listed field is not guaranteed to be filled in every row.
What input does Facebook Ad Library Byline & Advertiser Ad Finder need?
Required: mode. Optional settings include searchTerms, pageIds, adIds, bylines, country, countries.
What are the alternatives to Facebook Ad Library Byline & Advertiser Ad Finder for Meta Ad Library?
2 catalogue Actors cover Meta Ad Library. Close alternatives: Facebook Political & Commercial Ad Transparency Extractor. The Meta Ad Library page compares all of them field by field.
How do I run Facebook Ad Library Byline & Advertiser Ad Finder from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("nimbryxo-studio/facebook-ad-library-byline-and-advertiser-ad").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("nimbryxo-studio/facebook-ad-library-byline-and-advertiser-ad").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/nimbryxo-studio~facebook-ad-library-byline-and-advertiser-ad/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- Facebook Ad Library Byline & Advertiser Ad Finder on Apify Store
- Published build with input and output schema (JSON)
- Meta Ad Library API documentation
Cite this page
Scraper Finder. "Facebook Ad Library Byline & Advertiser Ad Finder." https://scraperfinder.com/catalogue/facebook-ad-library-byline-and-advertiser-ad/ (data checked 2026-11-12).
Run Facebook Ad Library Byline & Advertiser Ad Finder
$0.99 per 1,000 results. Paste the example input above, set your Meta Ad Library query, then export the dataset. Still choosing? Compare every Meta Ad Library route.