Facebook Page Transparency Scraper avatar

Facebook Page Transparency Scraper

Pricing

from $1.60 / 1,000 transparency profiles

Go to Apify Store
Facebook Page Transparency Scraper

Facebook Page Transparency Scraper

Export public Facebook Page/Profile transparency and Meta Ad Library creatives by brand or Page ID, with optional unified audits. No Facebook login is required.

Pricing

from $1.60 / 1,000 transparency profiles

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

11

Total users

5

Monthly active users

4 days ago

Last modified

Categories

Share

🔎 Audit Facebook Page transparency and public ads

For brand researchers, agencies, journalists, and compliance teams, Facebook Page Transparency Scraper resolves known public Facebook Pages or Profiles and searches the public Meta Ad Library. It returns structured transparency profiles and ad creative rows with source links, so you can review source-exposed ownership, Page history, management countries, contacts, ad status, copy, media, and other public facts in one dataset.

Use cases

📦 Facebook transparency profiles and ad creatives

The default dataset can contain two row shapes. A transparencyProfile row is for a resolved Page or public Profile. An adCreative row is for a public Meta Ad Library creative. Missing values are omitted rather than inferred. A resolved entity with transparencyAvailable: false still has a row, while an unresolved or inaccessible target does not produce a placeholder row.

Transparency profile data

  • Identity fields include the canonical Facebook URL, entity type, verification, and categories.
  • Transparency fields can include creation date, previous Page names, management countries, responsible owner details, and advertising status.
  • Public contact, address, business, delegate Page, operating-hours, and audience fields appear when Facebook exposes them.

Ad creative data

  • Ad rows include advertiser identity, Page identifiers, active status, dates, country, platforms, format, and the public Ad Library URL.
  • copy can include body, headline, description, caption, destination and display URLs, and a call to action.
  • Public media, paid-for-by disclosures, and source-exposed spend or impression ranges appear when available.
  • A unified audit can add available pageTransparency context to an ad creative.

🚀 Run a Facebook Page transparency or ad audit

Run steps

  1. Open the Actor in Apify Console.
  2. Choose one Target value.
  3. Enter the matching known targets, brand query, or numeric Page ID.
  4. For an ad target, choose the country and ad status. Add an optional maximum ad count if you want to stop earlier.
  5. Start the run, then open the default dataset to inspect or export the rows.

For ad targets, leaving the maximum ad count empty returns all available creatives until the public source is exhausted. Duplicate known targets are resolved once. You can also start runs through the Apify API or schedule repeat audits.

⚙️ Input

Choose one target value. Fields for other target choices are ignored. Use pageTransparency for known Pages or Profiles, adsByBrand for one brand search, adsByPageId for one numeric Page ID, or unifiedAudit to join known targets with available ad context.

For ad and unified targets, country is a two-letter uppercase country code and adStatus is active or all. maxAds is an optional positive whole-number limit. Leave it empty to return all available creatives until the public source is exhausted. The schema has no fixed upper bound for this field. Duplicate known targets are resolved once.

Input fields

FieldTypeWhat it does
targetstringChooses pageTransparency, adsByBrand, adsByPageId, or unifiedAudit.
brandQuerystringSearches the public Meta Ad Library for one brand in this run. It applies to adsByBrand.
pageIdstringAccepts one numeric Facebook Page ID to search its public Meta Ad Library. It applies to adsByPageId.
targetsarray of stringsAccepts Facebook Page or public Profile usernames, supported URLs, or numeric Page IDs. You can mix formats in one run. It applies to pageTransparency and unifiedAudit.
countrystringSets the two-letter uppercase country code for Meta Ad Library results, such as US, GB, or DE. It applies to ad and unified targets and is ignored for pageTransparency.
adStatusstringChooses active or all available ads in the selected country. It applies to ad and unified targets.
maxAdsintegerSets an optional positive whole-number limit for Ad Library creatives across the run. Leave it empty to return all available creatives until the public source is exhausted. It applies to ad and unified targets.

Public input example

{
"target": "pageTransparency",
"targets": [
"facebook"
],
"country": "US",
"adStatus": "active",
"maxAds": 100
}

📤 Output

Each successful dataset row is either a transparency profile or an ad creative. The rowType value identifies the shape. Optional fields are omitted when Facebook or Meta does not expose them.

Dataset link

FieldTypeWhat it does
resultsstringOpens the default dataset overview of successful transparency profiles and ad creatives.

Transparency profile fields

FieldTypeWhat it does
rowTypestringIdentifies this row as transparencyProfile.
idstringGives Facebook's stable Page or public Profile ID.
namestringGives the public Page or Profile name.
usernamestringGives the public Facebook username when available.
urlstringGives the canonical public Facebook URL.
entityTypestringSays whether the source object is a page or profile.
verifiedbooleanSays whether Facebook marks the Page or Profile as verified.
categoriesarray of stringsLists public categories linked to the Page or Profile.
transparencyAvailablebooleanSays whether Facebook exposes transparency details for the resolved entity.
creationDatedate stringGives the Page or Profile creation date when available.
nameHistoryarray of objectsLists previous public Page names and available change dates.
nameHistory[].namestringGives an earlier public Page name.
nameHistory[].changedAtdate stringGives the date when that Page name changed, when available.
managementCountriesarray of objectsLists countries linked to Page management.
managementCountries[].countrystringGives a country or region linked to Page management.
managementCountries[].managerCountintegerGives the manager count for that country when available.
ownerobjectHolds public responsible-owner details when available.
owner.namestringGives the public responsible-owner name.
owner.countrystringGives the responsible owner's country when available.
adStatusobjectHolds current public advertising status and its Ad Library link.
adStatus.runningAdsbooleanSays whether Facebook shows current ads for the Page.
adStatus.adLibraryUrlstringGives the public Meta Ad Library URL for the Page's ads.
contactsobjectHolds public contact details shown by Facebook.
contacts.websitesarray of stringsLists public website URLs shown by Facebook.
contacts.emailsarray of stringsLists public email addresses shown by Facebook.
contacts.phonesarray of stringsLists public phone numbers shown by Facebook.
contacts.addressobjectHolds public address details when available.
contacts.address.streetstringGives the public street address.
contacts.address.citystringGives the public city.
contacts.address.regionstringGives the public state, province, or region.
contacts.address.postalCodestringGives the public postal code.
contacts.address.countrystringGives the public country.
contacts.address.latitudenumberGives the public latitude.
contacts.address.longitudenumberGives the public longitude.
businessobjectHolds public business and delegate Page details.
business.businessAccountbooleanSays whether Facebook marks this as an active business Page.
business.delegatePageobjectHolds the Page linked to this profile when Facebook provides one.
business.delegatePage.idstringGives the delegate Page's Facebook ID.
business.delegatePage.namestringGives the delegate Page's public name.
business.delegatePage.urlstringGives the delegate Page's public Facebook URL.
business.hoursarray of objectsLists public operating hours or current business status.
business.hours[].daystringGives the day or status label for one hours entry.
business.hours[].hoursstringGives the hours or status text shown by Facebook.
audienceobjectHolds public audience and social counts.
audience.followersintegerGives the public follower count.
audience.likesintegerGives the public like count.
audience.checkInsintegerGives the public check-in count.
audience.talkingAboutintegerGives the public count of people talking about the Page.

Transparency profile example

This complete row is from a successful current-beta Page transparency run.

{
"rowType": "transparencyProfile",
"id": "100064487329582",
"name": "Starbucks",
"username": "Starbucks",
"url": "https://www.facebook.com/Starbucks",
"entityType": "page",
"verified": true,
"categories": [
"Food & beverage company"
],
"transparencyAvailable": true,
"creationDate": "2008-03-11",
"managementCountries": [
{
"country": "United States",
"managerCount": 54
},
{
"country": "Philippines",
"managerCount": 26
},
{
"country": "Canada",
"managerCount": 6
},
{
"country": "Romania",
"managerCount": 2
},
{
"country": "United Kingdom",
"managerCount": 2
},
{
"country": "Bosnia and Herzegovina",
"managerCount": 1
}
],
"owner": {
"name": "STARBUCKS CORPORATION",
"country": "United States of America"
},
"adStatus": {
"runningAds": true,
"adLibraryUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=ALL&view_all_page_id=22092443056"
},
"contacts": {
"websites": [
"http://www.starbucks.com/"
]
},
"business": {
"businessAccount": false,
"delegatePage": {
"id": "22092443056",
"name": "Starbucks",
"url": "https://www.facebook.com/Starbucks"
}
},
"audience": {
"followers": 34000000,
"likes": 34140098,
"talkingAbout": 166159,
"checkIns": 1869486
}
}

Ad creative fields

FieldTypeWhat it does
rowTypestringIdentifies this row as adCreative.
idstringGives Meta Ad Library's stable creative ID.
advertiserobjectHolds public advertiser details for the creative.
advertiser.pageIdstringGives the advertiser Facebook Page ID when available.
advertiser.namestringGives the public advertiser name.
advertiser.pageUrlstringGives the advertiser's public Facebook Page URL.
advertiser.verifiedbooleanSays whether Facebook marks the advertiser Page as verified.
advertiser.categoriesarray of stringsLists public categories linked to the advertiser Page.
activebooleanSays whether the creative is active in the selected country.
startedAtdate-time stringGives the ad start time when provided.
endedAtdate-time stringGives the ad end time when provided.
countrystringGives the two-letter Ad Library country context.
platformsarray of stringsLists publisher platforms where the creative appears.
copyobjectHolds public text and links from the creative.
copy.bodystringGives the main creative text.
copy.headlinestringGives the creative headline.
copy.descriptionstringGives the creative description.
copy.captionstringGives the display caption.
copy.callToActionstringGives the call to action.
copy.destinationUrlstringGives the public URL opened by the creative.
copy.displayUrlstringGives the display URL shown in the creative.
formatstringGives the source-reported format, such as image, video, carousel, or text.
mediaarray of objectsLists public image and video media linked to the creative.
media[].typestringSays whether the media item is an image or video.
media[].urlstringGives the public media URL.
media[].thumbnailUrlstringGives the public video thumbnail URL when available.
spendobjectHolds the source-reported spend range when available.
spend.lowernumberGives the lower spend value.
spend.uppernumberGives the upper spend value.
spend.currencystringGives the three-letter currency code.
impressionsobjectHolds the source-reported impression range when available.
impressions.lowerintegerGives the lower impression value.
disclaimerstringGives the public paid-for-by or advertiser disclaimer.
pageTransparencyobjectHolds available transparency context joined to the creative in a unified audit.
pageTransparency.availablebooleanSays whether public transparency details were available for the advertiser Page.
pageTransparency.creationDatedate stringGives the advertiser Page creation date when provided.
pageTransparency.managementCountriesarray of objectsLists countries linked to management of the advertiser Page.
pageTransparency.managementCountries[].countrystringGives a country or region linked to Page management.
pageTransparency.managementCountries[].managerCountintegerGives the manager count for that country when available.
pageTransparency.ownerNamestringGives the public responsible-owner name when available.
pageTransparency.ownerCountrystringGives the responsible owner's country when available.
adLibraryUrlstringGives the public Meta Ad Library URL for the creative.

Ad creative example

This complete row is from a successful current-beta brand search run.

{
"rowType": "adCreative",
"id": "317161109571794",
"advertiser": {
"pageId": "108824017345866",
"name": "Meta",
"pageUrl": "https://www.facebook.com/Meta/",
"categories": [
"Internet Company"
],
"verified": true
},
"active": false,
"startedAt": "2020-09-22T07:00:00.000Z",
"endedAt": "2020-10-05T07:00:00.000Z",
"country": "US",
"platforms": [
"facebook"
],
"copy": {
"body": "The Voting Information Center—one-tap voting registration information from election experts and authorities in one place.",
"headline": "Voting Information Center",
"description": "Get prepared for this election",
"caption": "fb.com/votinginfocenter",
"callToAction": "Learn more",
"destinationUrl": "http://facebook.com/votinginformationcenter",
"displayUrl": "fb.com/votinginfocenter"
},
"format": "video",
"media": [
{
"type": "video",
"url": "https://video-arn2-1.xx.fbcdn.net/o1/v/t2/f2/m412/AQNN757NtitUcJnpv0ODeMH6fXo-yFM-X90P2W82Zsrc70oOzST9lrKgscKf21SHBUtZ9pdKMclY8s32B0eRJ7o.mp4?_nc_cat=106&_nc_sid=ef5aa3&_nc_ht=video-arn2-1.xx.fbcdn.net&_nc_ohc=terVRdWumIsQ7kNvwHNqjo8&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5WSV9VU0VDQVNFX1BST0RVQ1RfVFlQRS4uQzMuMzQwLmFzaWNfaHExX3NkX3Byb2dyZXNzaXZlIiwieHB2X2Fzc2V0X2lkIjo4MzE0MTAwMzMxNDk2MzYsImFzc2V0X2FnZV9kYXlzIjoyNzUsInZpX3VzZWNhc2VfaWQiOjEwNjgwLCJkdXJhdGlvbl9zIjoxNSwidXJsZ2VuX3NvdXJjZSI6Ind3dyJ9&ccb=17-1&_nc_gid=PM33OX21bR4BWyNfnhqReQ&_nc_ss=73289&_nc_zt=28&oh=00_AQIhynFDqJ6kyQ3b71TsHQ5T06LF9davwaRUxtm6HnsiSA&oe=6A99FDC8",
"thumbnailUrl": "https://scontent-arn2-1.xx.fbcdn.net/v/t39.35426-6/120065387_2711663819108220_8472417301728012411_n.jpg?_nc_cat=105&ccb=1-7&_nc_sid=c53f8f&_nc_ohc=gvJupt4tX4sQ7kNvwEfcSbb&_nc_oc=AdqwSg6V9U7JitVp9b6q8MXtpp6V8ftzLgSoG9XVgLigvbWg4QDYaA1DxoOIF7p_Ras&_nc_zt=14&_nc_ht=scontent-arn2-1.xx&_nc_gid=PM33OX21bR4BWyNfnhqReQ&_nc_ss=73289&oh=00_AQKwsrPDSeXmsbYOuc2_9D8LPp3Nw_rrn4mRrrcI4k1vaw&oe=6A99E78A"
}
],
"spend": {
"lower": 1,
"currency": "USD"
},
"impressions": {
"lower": 1000001
},
"disclaimer": "Facebook, Inc.",
"adLibraryUrl": "https://www.facebook.com/ads/library/?id=317161109571794"
}

Results are available from the default dataset in Apify Console and through dataset API endpoints. Export them as JSON, CSV, or Excel for analysis.

💳 Pricing

This Actor uses pay-per-event pricing. One event covers each successfully returned public Facebook Page or Profile transparency profile. Another event covers each successfully returned Meta Ad Library creative. Empty, unresolved, unavailable, duplicate, and otherwise unsuccessful work is not a successful output event. Check the Pricing tab for current event prices before starting a run.

🔌 Integrations

Connect your workflow

Use the Apify API to start runs or read dataset rows. Use Apify schedules for repeat audits and webhooks when runs finish. Export rows as JSON, CSV, or Excel for spreadsheets, databases, dashboards, or other automation tools.

❓ FAQ

Why did a resolved Page have transparencyAvailable: false?

Facebook resolved the Page or Profile but did not expose transparency details at collection time. The row still contains the identity fields that Facebook returned. This is different from an unresolved, inaccessible, private, restricted, removed, or login-only target, which does not produce a placeholder row.

Why did my target produce no row?

The target may be unresolved, inaccessible, private, restricted, removed, or login-only. The Actor does not create a placeholder row when the public source does not return a usable target.

Should I search ads by brand or Page ID?

Use a brand search when you want source matches for a name. Use a numeric Page ID when you already know the advertiser Page and want to avoid name ambiguity. Each run supports one ad search configuration.

What is the difference between active and all ads?

active requests creatives currently active in the selected country. all requests all creatives Meta makes available for that search and country, including inactive ones.

What does unifiedAudit add?

It uses known Page or Profile targets and can join available transparency context to matching public ad creatives. It can also return the resolved profile row. The country, ad status, and maxAds settings apply to the ad part of the run.

Does maxAds apply to every target?

No. It is the maximum number of Ad Library creatives across the run, not a separate allowance for every target. If you leave it empty, the Actor returns all available creatives until the public source is exhausted.

What happens when I submit the same known target twice?

The first eligible occurrence is saved. Later duplicate values are ignored. The saved row represents the first match and does not combine later submitted values.

Are ownership, spend, and impression values always available?

No. Facebook and Meta expose different fields by Page, ad, country, and time. The Actor returns source-exposed values and omits unavailable ones instead of estimating them.

Do I need Facebook credentials or a Meta API key?

No. The Actor accesses public data and does not require your Facebook login, cookies, or Meta API key. It cannot access private, restricted, removed, or login-only content.

Does this Actor collect posts, comments, reviews, or events?

No. It is limited to public Page/Profile context and public Facebook and Instagram Ad Library surfaces.

📝 Changelog

1.0: Transparency profiles and Meta Ad Library research

  • Add Page and Profile transparency, brand and Page ID Ad Library searches, and unified Page ad audits with structured results.

v0.1

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré