Meta Ad Library Brand Search & Page ID Finder
Pricing
from $4.00 / 1,000 results
Meta Ad Library Brand Search & Page ID Finder
Find Facebook Page IDs from a brand name or prefix using Meta Ad Library advertiser search. Get ranked pages, categories, profile images, verification, Instagram handles and follower counts. One query per lookup, JSON/CSV exports and a Standby API for dropdowns. No Facebook login required.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Anas Nadeem
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Find Facebook Page IDs from a brand name or prefix. Meta Ad Library Brand Search returns the ranked advertiser suggestions from the Facebook Ad Library search dropdown, including page names, categories, profile images, verification values and linked Instagram handles.
Enter one query, such as ele, Nike or Spotify. Use the suggestions in a competitor selector, build a brand search dropdown, or pass the selected pageId to an Ad Library scraper. No Facebook login, Meta developer app or Meta API token is required.
How to find a Facebook Page ID by brand name
- Enter a brand name or partial name in Brand name or search prefix.
- Choose a country if needed, then click Save & Start.
- Open Advertiser suggestions in the run's Output tab.
- Review the candidate's name, category and social links, then use its
pageIdin your workflow.
Minimal input:
{"query": "ele"}
To match a country-specific dropdown and cap the results:
{"query": "ele","country": "US","maxResults": 10}
Each run or API request searches one query. The Actor returns Meta's available suggestions up to your limit and removes duplicate Page IDs within that search. A genuine no-match query succeeds with zero suggestions.
Meta advertiser search data
Each dataset row represents one advertiser candidate. Download the dataset as JSON, CSV or Excel, or retrieve it through the Apify API.
| Field | What you get |
|---|---|
pageId | Numeric Facebook Page ID, returned as a string |
pageName | Advertiser's display name |
rank | Original position in Meta's suggestion list |
category | Public page category, when available |
pageAlias, pageUrl | Facebook username/alias and page link |
libraryUrl | Page-specific Meta Ad Library link with the requested country and category |
logoUrl | Profile image URL, when available |
likes | Meta's raw Facebook likes count |
verification | Meta's page verification value, such as BLUE_VERIFIED |
igUsername, igUrl | Linked Instagram handle and profile link |
igFollowers, igVerification | Instagram follower count and verification flag |
query, country, adType | Search context for tracing each result |
advertiserCountry | Advertiser country if Meta supplies it |
source, fetchedAt | Suggestion source and UTC retrieval timestamp |
Example advertiser row, shortened from a recorded lookup. Counts are a point-in-time snapshot:
{"query": "ele","country": "US","adType": "ALL","rank": 1,"pageId": "114803668557265","pageName": "Eleven Media Group","category": "Newspaper","pageAlias": "ElevenMediaGroup","pageUrl": "https://www.facebook.com/ElevenMediaGroup","libraryUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=US&view_all_page_id=114803668557265&search_type=page","likes": 20753610,"verification": "BLUE_VERIFIED","igUsername": "elevenmediagroup","igUrl": "https://www.instagram.com/elevenmediagroup/","igFollowers": 124480,"igVerification": true,"advertiserCountry": null,"source": "meta_ad_library_typeahead","fetchedAt": "2026-10-28T13:07:13.794Z"}
Missing optional metadata is null; a measured zero remains 0. Instagram fields depend on Meta linking and returning an account. Profile image URLs can expire.
Brand search API for dropdowns
Use Apify Standby to send individual advertiser searches to an HTTP endpoint. A running instance reuses its browser session across requests. Copy the hostname from this Actor's Endpoints tab.
curl --get 'https://whoareyouanas--meta-brand-dropdown-search.apify.actor/search' \--header "Authorization: Bearer $APIFY_TOKEN" \--data-urlencode 'query=ele' \--data-urlencode 'country=US' \--data-urlencode 'maxResults=10'
You can also send POST /search with a JSON body:
{"query": "Nike","country": "US","maxResults": 5}
Set Content-Type: application/json and authenticate with an Apify Bearer token. Keep the token on your backend. Python, JavaScript, n8n, Make and other clients can call the same HTTP endpoints.
The HTTP response wraps suggestions in results, alongside query, country, count, availableCount, fetchedAt, cached and durationMs. A normal Actor run stores the advertiser rows directly in its dataset.
For a dropdown, wait for at least two characters and debounce typing before sending a request. Discard earlier responses when the input changes. Cold starts, proxy setup and retries add latency; a warm instance is more responsive than a new one. See how Apify Standby works.
Where to see the keyword used by the API
A Standby run's Input tab shows server startup settings. Each keyword arrives separately through an HTTP request.
Open Output → Search request history, or the REQUESTS key in that run's key-value store, to inspect the most recent 100 search requests, filters, result counts and errors. The run log and advertiser rows also identify their query. Health checks do not create search-history entries.
Run a single brand lookup through the Apify API
For an automation that starts a run and returns its dataset, use the synchronous endpoint:
curl --request POST \'https://api.apify.com/v2/acts/whoareyouanas~meta-brand-dropdown-search/run-sync-get-dataset-items?format=json' \--header "Authorization: Bearer $APIFY_TOKEN" \--header 'Content-Type: application/json' \--data '{"query":"Nike","country":"US","maxResults":5}'
This endpoint returns an array of advertiser rows. Use Standby for repeated interactive searches. For scheduled lookups, create an Apify Task with one saved query and connect it to a Schedule.
Input options
| Input | Default | Description |
|---|---|---|
query | Required for a lookup | One brand name or prefix, 2–200 characters |
country | ALL | ALL or a two-letter country code, such as US, GB or IN |
maxResults | 10 | Maximum suggestions to return, from 1 to 50 |
adType | ALL | Ad Library category; availability varies by country |
The country selects Meta's search context. It does not identify a brand's headquarters or prove that the page currently runs ads in that country. Raising maxResults does not paginate beyond Meta's available dropdown suggestions.
Proxy and API settings
| Input | Default | Description |
|---|---|---|
proxyConfiguration | Residential proxies in cloud runs | Proxy settings for Meta access; proxy traffic is billed separately |
cacheTtlSeconds | 0 | Optional cache within a warm run, up to 300 seconds |
minIntervalMs | 1000 | Minimum interval between outbound lookups |
requestTimeoutSecs | 60 | Search deadline including browser setup and retries |
maxRetries | 1 | Fresh-session retries within the deadline, up to 2 |
The result cache is off by default. When it is enabled, use fresh=true on an HTTP request to bypass it. cached and fetchedAt identify reused results. Saved Actor/Task input supplies the server settings; each HTTP request supplies its own query and can override country, category and result limit.
Use cases
- Facebook Page ID lookup: resolve a brand name into numeric Page ID candidates before retrieving ads.
- Competitor discovery: let users choose the right advertiser during onboarding or campaign research.
- Advertiser autocomplete: populate a search dropdown with names, profile images and linked social accounts.
- Brand-to-Instagram lookup: retrieve the Instagram handle linked to a matching Facebook advertiser when Meta provides it.
- Ad research workflows: pass a selected Page ID to another tool that collects the advertiser's creatives.
Pricing and error handling
Check the Pricing tab for current rates. Under search-event pricing, one successful query is one lookup, regardless of how many advertiser suggestions it returns. A valid empty response and a cached response are completed lookups. Failed searches and health checks do not trigger the search event.
Apify resource and proxy costs may be additional, including Standby resource usage while an instance is idle. A 402 response indicates that the run's search spending limit has been reached.
| HTTP status | Meaning |
|---|---|
200 | Search completed; results may be empty |
400 | Missing/invalid query, unsupported filters or a query array |
429 | Search queue is busy or Meta rate limited the session; respect Retry-After |
502 | Upstream access, session or response error |
504 | Search deadline exceeded |
Errors include a code, message and retryability flag. A failed Meta request is reported as an error rather than as an empty advertiser search. For normal runs, inspect SUMMARY for the query and outcome.
Frequently asked questions
Can I find a Facebook Page ID without knowing the page URL?
Yes. Enter the brand name or a partial name. The Actor searches Meta Ad Library advertiser suggestions and returns matching Page IDs and social links.
Does one query return several brands or advertiser pages?
Yes. A single string can match several pages, regional accounts or similarly named advertisers. Meta determines the ranking. Review the candidates before selecting a Page ID.
Is this the same as searching ad text in Facebook Ad Library?
This Actor returns the advertiser dropdown suggestions for your query. It does not collect ad copy, images, videos, ad counts or spend. Follow libraryUrl or pass a selected pageId to an ads scraper to retrieve creatives.
Do I need a Facebook login or a Meta API key?
No Facebook login, user-supplied cookies or Meta developer token is required. API calls to this Actor require your Apify token. This is an independent Apify integration using public Ad Library suggestions.
Does a verification badge confirm that I found the right brand?
A badge is a value returned by Meta. The candidate's name, category, page URL and Instagram handle still need to match the brand you want. Several regional pages can share a display name.
Can I retrieve every advertiser matching a broad keyword?
The Actor returns the suggestion set supplied by Meta, without pagination. Use a more specific prefix if the desired page is absent. It is not an exhaustive advertiser directory.
Why are some Instagram or country fields null?
Meta does not supply every field for every suggestion. Unavailable values remain null, and the requested search country is not used to infer an advertiser's location.
Can I search several keywords in one request?
Each run or request accepts one query string. Send separate requests for separate keywords.
For help with a particular lookup, open an issue on this Actor and include the run URL, query and country.