Facebook Page ID Finder: Names to Page IDs avatar

Facebook Page ID Finder: Names to Page IDs

Pricing

from $1.47 / 1,000 page matches

Go to Apify Store
Facebook Page ID Finder: Names to Page IDs

Facebook Page ID Finder: Names to Page IDs

Facebook page ID finder for brand, advertiser and page names in bulk, no login. Get every page that carries the exact name with its page ID, likes, category, verification and Instagram, or paste links, @handles and IDs. Add page transparency, contact details and ads. CSV, JSON or API.

Pricing

from $1.47 / 1,000 page matches

Rating

0.0

(0)

Developer

Automation Craft

Automation Craft

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Share

Facebook Page ID Finder: Names to Page IDs

Facebook Page ID Finder turns brand, advertiser and page names into Facebook page IDs in bulk, without a login and without a Facebook app. Paste up to 10,000 names, @handles, page links, Ad Library links, page ids or company websites, and get one row per input: every page that carries exactly that name, with its page id, alias, category, likes, verification and linked Instagram account, plus the other pages the Meta Ad Library suggested. Optional add-ons read each matched page's transparency facts (creation date, name changes, the countries of the people who manage it, the confirmed owner, the active ads count), its public contact section and its first ads.

The page id is what the Meta Ad Library, the Graph API, Ads Manager and Ad Library scrapers ask for. Facebook's help pages send a page's admins to that page's own transparency section to find it; for any other page there is no box that turns a name into its id. This Actor reads it from the Meta Ad Library's own search box, the same way the Ad Library website finds pages.

What does Facebook Page ID Finder do?

  • Names to page ids in bulk. One lookup per name, worldwide or in the one country you choose, up to 10,000 inputs in one run.
  • Every page of a name, never a guess. A name like "adidas" is carried by eleven pages (the global page and country pages). All of them are listed with their facts; the page id column is filled when exactly one page carries the name, or when you choose how to pick one (the page whose address is the name, a website, the most likes).
  • Any kind of input. Names, @handles, facebook.com/<page> links, profile.php?id= links, Ad Library links (view_all_page_id or a search), numeric page ids (either of a page's two ids) and company websites (patagonia.com).
  • A free row for every input without a match, with the closest pages the Ad Library suggested and the reason.
  • Page details (paid add-on): creation date, name change dates, admin countries with counts, confirmed owner with address and phone, state media label, active ads count, related country pages, the page's second id, ad spend by disclaimer for one country.
  • Page contact (paid add-on): website, phone, e-mail, address, rating with review count, hours, price range, services, followers, cover photo.
  • Page ads (paid add-on): up to 30 of a page's ads from the Ad Library with text, link, call to action, images, videos, platforms and dates.

How to find Facebook page IDs

  1. Open the Actor and paste your names into Names, links or ids, one per line. Add | website.com after a name to tell pages of one name apart: Patagonia | patagonia.com.
  2. Keep When several pages match on "Pick the page whose address is the name" to get one page id for most brands, or choose "List them all" to get every page and pick yourself.
  3. Switch on Page details, Page contact or Ads per page if you need them.
  4. Click Start. A run of 120 names takes about one minute.
  5. Download the results as JSON, CSV or Excel, or read them through the API.

What you get

One pageMatch row per input. The main fields:

FieldWhat it holdsFilled (measured)
input, inputIndexthe value as you gave it and its place in the runevery row
statusmatched, multiple_matches, no_exact_match, matches_filtered_out, not_found, invalid_input, duplicate_input, lookup_failed, skippedevery row
pageIdthe page id (the classic id the Ad Library, the Graph API and Ads Manager use)93 of 120 brand, artist, news, sport, local business and government names with "Pick the page whose address is the name"
pageName, pageAlias, pageUrl, adLibraryUrlthe page's name, the vanity name in its address, its address and its Ad Library viewalias on 72 percent of matching pages
category, likes, verification, isVerifiedcategory (in English), like count, blue verificationcategory 100, likes 95 percent
igUsername, igFollowers, igVerifiedthe Instagram account linked to the page56 percent
entityType, country, isDeleted, imageUrlthe Ad Library's page type, the page's country (country pages of global brands), the deleted flag, the profile picturecountry 43 percent
matchType, rank, foundBy, pickedByhow the page matched (name, name_folded, alias, id, profile_id), its place in the Ad Library's list, where it was found, which rule picked itevery matched row
matches, matchCount, matchPageIdsevery page that carries the name, each with the fields aboveevery matched row
candidates, candidateCountthe other pages the Ad Library suggested5 by default, up to 15
messagewhy a row is freefree rows

Fill rates are from 639 matching pages of a platform run of 120 names (2026-10-13). A real row:

{
"type": "pageMatch",
"input": "Nike",
"status": "matched",
"pageId": "15087023444",
"pageName": "Nike",
"pageAlias": "nike",
"pageUrl": "https://www.facebook.com/nike",
"adLibraryUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=ALL&media_type=all&search_type=page&view_all_page_id=15087023444",
"category": "Sportswear Store",
"likes": 39504725,
"verification": "BLUE_VERIFIED",
"isVerified": true,
"igUsername": "nike",
"igFollowers": 291004422,
"matchType": "name",
"rank": 1,
"matchCount": 1,
"candidateCount": 14
}

Page details (add-on)

One pageDetails row per matched page, from the Meta Ad Library's About tab of the page. Fill over 20 pages of different kinds (brands, news outlets, public figures, local businesses, government and political pages, a sports team, pages with few likes): creation date 20 of 20, admin countries 19, confirmed owner 15 (address 8, phone 4), Instagram 17, about text 17, name changes 6, state media label where Facebook sets one.

{
"type": "pageDetails",
"pageId": "15087023444",
"profileId": "100044541544829",
"pageName": "Nike",
"followersText": "39M",
"createdAt": "2008-05-21T14:51:36.000Z",
"nameChangeCount": 1,
"nameChanges": ["2010-07-17T00:46:00.000Z"],
"adminCountries": [{ "country": "United States", "count": 94 }, { "country": "India", "count": 26 }, { "country": "South Korea", "count": 26 }],
"adminCountryCount": 30,
"adminCount": 306,
"confirmedOwnerName": "NIKE, Inc.",
"confirmedOwnerId": "10152356643698445",
"activeAdsCount": 2740,
"adsCountry": "ALL"
}

The active ads count is for the country of the run (adsCountry: ALL unless you give a country code); switch on Total ads count to add every ad the page ever ran. With a country code, spend holds the page's ad spend by disclaimer in that country (political and issue ads).

Page contact and Page ads (add-ons)

pageContact rows hold the fields the page shows in its public Contact and basic info section: website, phone, email, address, rating, recommendPercent, reviewCount, hours, priceRange, services, followersText, followingText, coverPhotoUrl (website on 5 of 5 sampled pages, phone 4, e-mail 3, address 1, rating 2). pageAd rows hold adArchiveId, adUrl, isActive, startDate, endDate, platforms, displayFormat, body, title, linkUrl, caption, ctaText, imageUrls, videoUrls.

How a name matches a page

A page matches a name when its page name, or its alias (the name in its address), is the same text as the name once case, spaces, punctuation and accents on Latin letters are set aside: "Coca Cola", "coca-cola" and "COCA-COLA" all match a page named "Coca-Cola". It is always the whole text: "Nike" never matches "Nike Football". Deleted pages never match.

StatusMeaningCharged
matchedone page carries the name (or the alias, or the id you gave)Page match
multiple_matchesseveral pages carry the name; all are in matches; pageId is filled only when your website or pick rule singles one outPage match, once
no_exact_matchpages were found, none carries exactly this name; the closest are in candidatesfree
matches_filtered_outpages carry the name but none passes your filters (verified only, minimum likes)free
not_foundthe Ad Library knows no page for this inputfree
invalid_input, duplicate_inputnot a value this Actor reads, or the same as an earlier inputfree
lookup_failed, skippedFacebook did not answer after the run's tries, or the run stopped firstfree

Pick rules for names that several pages carry (all pages stay listed either way):

  • A website after |: the one matching page whose alias is the website's name (Patagonia | patagonia.com picks facebook.com/PATAGONIA, not facebook.com/PatagoniaUK).
  • Pick the page whose address is the name (aliasMatch): the global page of most brands (adidas, PUMA, LEGO, Google, McDonald's). In a run of 120 names it filled a page id for 57 of the 76 names several pages carry.
  • Most likes or verified with the most likes: only when one page has strictly more likes than every other; the country pages of one global brand share one like count, so then nothing is picked.

A name can be carried only by small pages when the brand's own page is not among the 15 pages the Ad Library suggests for it; check likes and isVerified in matches.

Lookups that find no page cost a request each and are not charged, so a run keeps an allowance for them that grows with every name it finds: a list of real names runs through even with many misses among them, while a run of names that all match nothing stops looking up after five to ten of them (5, 10 and 9 in three platform test runs of 400 made up words). Inputs not reached get a free skipped row while the allowance holds its write; the summary row counts the rest (freeRowsNotWritten) and names the first input without a row (firstInputWithoutRow).

How much does it cost to find Facebook page IDs?

Pay per event. Prices per 1,000 events:

EventFree planBronzeSilverGold
Page match (one input that found its page or pages)$2.06$1.88$1.71$1.47
Page details (one row per page)$1.00$1.00$0.90$0.80
Page contact (one row per page)$1.00$1.00$0.90$0.80
Page ad (one row per ad)$0.50$0.50$0.45$0.40
Actor start (once per run)$0.003$0.003$0.003$0.003

Platinum and Diamond plans pay the Gold price. The Store pricing card shows these prices per 1,000 events: "$2.06 / 1,000" on the Page match row means one name found costs $0.00206. Inputs without a match, invalid or duplicate inputs, failed lookups and skipped inputs are free; a page read for two names of one run is charged once.

Examples at the Bronze price: 1,000 names with a match cost $0.003 + $1.88 = $1.883; 100 names with Page details for each matched page cost $0.003 + $0.188 + $0.10 = $0.291; one name costs $0.00488.

Input

FieldWhat it does
namesnames, @handles, page links, Ad Library links, page ids or websites, one per line (also queries, keywords, brand_name; pageUrls/startUrls; pageIds; adLibraryUrls)
countriesALL (default) or one country code such as US, GB or DE; one country per run (start one run per country for several)
onMultipleMatcheslist (default for API calls), aliasMatch, mostLiked, verifiedMostLiked
verifiedOnly, minLikesonly verified pages, or pages with at least this many likes, count as matches
maxCandidatesother candidates listed per row (0 to 15, default 5)
adSearchFallbackwhen no suggested page matches, also look at the advertisers behind the ads that mention the name (no extra charge)
pageDetails, includeTotalAdsCountthe Page details add-on, and the total ads count inside it
pageContactthe Page contact add-on
adsPerPage, adStatus, adMediaTypethe Page ad add-on: how many ads per page (0 to 30), active, all or inactive ads, and a media type
maxDetailsPerNamehow many matching pages the add-ons read when none is picked (1 to 15, default 5)
includeRawDataadds the Ad Library's own record of each page
{
"names": ["Nike", "Patagonia | patagonia.com", "@nike", "https://www.facebook.com/ads/library/?view_all_page_id=97830335456", "15087023444"],
"countries": ["ALL"],
"onMultipleMatches": "aliasMatch",
"pageDetails": true
}

Use it from the API, n8n, Make, Zapier or an AI agent

Call it like any Apify Actor: POST https://api.apify.com/v2/acts/automation_craft~facebook-page-id-finder/run-sync-get-dataset-items?token=<your token> with the input above as the JSON body returns the rows directly. The Apify nodes of n8n, Make and Zapier run it by name, and AI agents can run it through the Apify MCP server (https://mcp.apify.com) as automation_craft/facebook-page-id-finder. Feed pageId or adLibraryUrl to an Ad Library scraper, or use pageId with the Graph API.

What this Actor does not do

  • It reads public data only, logged out; it never needs or accepts cookies or a Facebook login.
  • More than 15 candidate pages per name: the Ad Library suggests at most 15.
  • Several countries in one run: one country per run keeps every name's lookup at one request; start one run per country.
  • Keyword and location suggestions: the Ad Library's search box does not return them logged out.
  • Ads past the first 30 of a page, and ads found by keyword as rows: that is the job of an Ad Library scraper (this Actor finds the pages to feed it).
  • Old page names: Facebook shows when a page changed its name, not the earlier names.
  • Check-ins, "talking about" counts and a business account flag: not in the public sources this Actor reads.
  • E-mails and phones from a company's own website: this Actor reads Facebook only.
  • A Standby (HTTP endpoint) mode.

FAQ

How do I find a Facebook page ID from the page name?

Paste the name into this Actor. It asks the Meta Ad Library's own search box and returns every page that carries exactly that name with its page id. When several pages carry it (country pages of a global brand), choose "Pick the page whose address is the name" or add the brand's website after a |.

Yes. Paste facebook.com/<page>, @<page> or a profile.php?id= link; links whose page the Ad Library search box does not show are resolved through Facebook's page plugin. Ad Library links with view_all_page_id are read directly.

Which page ID does it return, and why do some tools show a different one?

A Facebook page has two ids: the classic page id, which the Ad Library, the Graph API and Ads Manager use (Nike: 15087023444), and the id of the newer Pages experience in the page's own address (Nike: 100044541544829). pageId is always the classic id; Page details also carry the second one in profileId. Either id works as input.

Can I still see who runs a Facebook page and where it is managed from?

Yes, with Page details: the Ad Library's About tab of each page shows the creation date, the countries of the people who manage the page with their counts, name change dates and the organisation Facebook confirmed as responsible for it. This Actor returns them as columns for many pages at once.

Why does this Actor run with limited permissions?

It runs with the least privilege Apify offers: it can only write to its own run's dataset and key-value store, and it keeps no memory between runs.

More data tools by Automation Craft

Changelog

  • 0.1 (2026-10-13): first release.