Pinterest Ads Scraper
Pricing
from $0.10 / 1,000 ads
Pinterest Ads Scraper
Search Pinterest's public Ads Transparency Repository by market, category, age, gender, advertiser, and campaign dates. Save structured ad records with available creative, targeting, reach, transparency, and destination data.
Pricing
from $0.10 / 1,000 ads
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
📌 Pinterest Ads for public ad research
For marketers, agencies, and researchers, Pinterest Ads Scraper searches Pinterest's public Ads Transparency Repository with one set of filters across supported markets. It saves structured ad records with available advertiser, creative, campaign, targeting, reach, transparency, and destination data, so you can review public Pinterest ads in a dataset.
- Review creative patterns in Pinterest Carousel Ads across the markets you select.
- Review product promotion data with Pinterest Shopping Ads in your saved ad records.
- Group creative types with Pinterest Ad Formats for a market or set of markets.
- Study real creative examples with Pinterest Ad Examples from the public repository.
- Check source details for Pinterest Ad Specs before planning a Pinterest campaign.
🧾 Public Pinterest ad records
Each saved row represents one source ad from the public repository. It can include the ad ID and URL, market, advertiser and campaign dates, creative text and media links, audience targeting, public reach ranges, transparency flags, and destination URLs. Pinterest gaps remain unavailable rather than filled in.
▶️ Search the Ads Transparency Repository
How to run
- Set Markets to one or more supported markets.
- Add optional category, age, gender, advertiser, or campaign date filters.
- Use the same filter set across the selected markets for one combined search.
- Set Maximum ads if you want to stop after a chosen number of saved records. Leave it empty to return all available results until the source is exhausted.
- Start the run and open
datasetItemsto review or export the saved records.
Only one search batch is supported in a run. Use separate runs for different filter combinations.
⚙️ Input
The Actor applies one common filter set to the markets you select. markets is required. All other fields are optional.
Input fields
| Field | Type | What it does |
|---|---|---|
markets | array of strings | Chooses one or more supported markets. Several markets use the same filters and return one combined search. Available markets are EU member states, Brazil, and Turkey. |
category | string | Filters by an ad category value exactly as shown in Pinterest's public repository. |
age | string | Filters by an audience age range exactly as shown in Pinterest's public repository, such as 25-34. |
gender | string | Filters by an audience gender value exactly as shown in Pinterest's public repository, such as female. |
advertiser | string | Filters by the public advertiser name exactly as shown in Pinterest's public repository. |
campaignStartDate | date string | Includes campaigns starting on or after this date. Use YYYY-MM-DD. |
campaignEndDate | date string | Includes campaigns ending on or before this date. Use YYYY-MM-DD. |
maxItems | integer | Optionally stops after this many saved ad records. Leave it empty to return all available results until the source is exhausted. The schema sets no upper bound. |
Public input example
This is the public input from the successful current-beta default-input run.
{"markets": ["FR"],"maxItems": 100}
🧾 Output
The run output contains a link to the default dataset. Each saved dataset row describes one public Pinterest ad. Optional values are left out when Pinterest does not publish them.
Run output
| Field | Type | What it does |
|---|---|---|
datasetItems | URL string | Opens the saved ad records in the run's default dataset. |
Saved ad row
| Field | Type | What it does |
|---|---|---|
adId | string | Gives the stable ID of the ad in the public Pinterest Ads Transparency Repository. |
adUrl | URL string, optional | Links to the ad in the public repository. |
market | string, optional | Gives the market code reported for the ad. |
advertiser | object, optional | Holds public advertiser information when available. |
advertiser.name | string | Gives the public advertiser name. |
campaign | object, optional | Holds public campaign dates when available. |
campaign.startDate | date string | Gives the campaign start date in YYYY-MM-DD form. |
campaign.endDate | date string | Gives the campaign end date in YYYY-MM-DD form. |
creative | object, optional | Holds the ad text and media published by Pinterest. |
creative.title | string | Gives the title published with the ad. |
creative.description | string | Gives the ad description or caption. |
creative.imageUrls | array of URL strings | Lists image asset links published with the ad. |
creative.videoUrls | array of URL strings | Lists video asset links published with the ad. |
targeting | object, optional | Holds the audience targeting published for the ad. |
targeting.ageRanges | array of strings | Lists the audience age ranges targeted by the ad. |
targeting.genders | array of strings | Lists the audience genders targeted by the ad. |
targeting.countries | array of strings | Lists the countries included in the ad's targeting. |
targeting.regions | array of strings | Lists the regions included in the ad's targeting. |
targeting.interests | array of strings | Lists the interests included in the ad's targeting. |
targeting.audienceSegments | array of strings | Lists audience-list segments included in the ad's targeting. |
reach | object, optional | Holds public estimated reach ranges for the ad. |
reach.euWide | object | Holds the EU-wide estimated reach range. |
reach.euWide.lowerBound | integer | Gives the lower end of the EU-wide reach range. |
reach.euWide.upperBound | integer | Gives the upper end of the EU-wide reach range. |
reach.byCountry | array of objects | Lists estimated reach ranges for individual countries. |
reach.byCountry[].countryCode | string | Gives the country code for one reach estimate. |
reach.byCountry[].lowerBound | integer | Gives the lower end of one country's reach range. |
reach.byCountry[].upperBound | integer | Gives the upper end of one country's reach range. |
transparency | object, optional | Holds public transparency information reported for the ad. |
transparency.isCommercial | boolean | Says whether Pinterest marks the ad as commercial. |
transparency.reviewStatus | string | Gives the public review status reported for the ad. |
transparency.disclosure | string | Gives public review or disclosure information reported for the ad. |
transparency.inventoryFlags | array of strings | Lists public inventory flags reported for the ad. |
commerce | object, optional | Holds public product and destination link information for the ad. |
commerce.destinationUrls | array of URL strings | Lists destinations used by the ad. |
Example saved ad row
This genuine row comes from the current beta run and is shown in full.
{"adId": "196610339985409684","adUrl": "https://ads.pinterest.com/ads-repository/?pin_id=196610339985409684","market": "FR","advertiser": {"name": "Perles & Co"},"campaign": {"startDate": "2026-06-23","endDate": "2026-08-10"},"creative": {"title": "Des créoles en 5min 😁","description": "Créoles en 5 min 💛\n\nDes boucles bluffantes avec un minimum de matériel.\n\nCarla te montre tout — tu choisis ta couleur, le reste prend 5 minutes 😄","imageUrls": ["https://i.pinimg.com/474x/1e/99/ff/1e99fffa55c2f003515e625392fe85ba.jpg"],"videoUrls": ["https://v1.pinimg.com/videos/mc/720p/af/42/f3/af42f3b2d439fd916c22604e1d525a70.mp4"]},"targeting": {"ageRanges": ["18+"],"genders": ["UNSPECIFIED","FEMALE","MALE"],"countries": ["France"],"interests": ["DIY_AND_CRAFTS"],"audienceSegments": ["USER_LIST","VISITOR","ENGAGEMENT"]},"reach": {"euWide": {"lowerBound": 0,"upperBound": 10000},"byCountry": [{"countryCode": "FR","lowerBound": 0,"upperBound": 10000}]},"transparency": {"isCommercial": true}}
💳 Pricing
The Actor uses pay-per-event pricing. Each saved ad from Pinterest's public Ads Transparency Repository is billed as one event. The event price depends on your Apify plan tier. Set maxItems when you want an upper bound on saved ads.
🔌 Integrations
Open datasetItems from the run output to inspect the default dataset. You can also export the saved rows or read them through the Apify API.
❓ FAQ
Can I search more than one market in one run?
Yes. Add several markets and the Actor applies the same filters to each one, then returns one combined search.
Can I search the United States or other markets?
No. The public repository coverage in this Actor includes EU member states, Brazil, and Turkey. The United States and other markets are outside its scope.
Can I filter by an arbitrary keyword or interest?
No. The input supports market, category, age, gender, advertiser, and campaign date filters. Interest and keyword details are returned only when Pinterest publishes them in an ad record.
What happens when Pinterest does not publish a field?
That value stays unavailable or the optional field is left out. The Actor does not fill gaps with guessed data.
What happens when the same ad appears more than once?
The first eligible occurrence of the source ad is saved. Later appearances of that same source ad are ignored.
What does leaving Maximum ads empty do?
The Actor returns all available results until the source is exhausted. There is no fixed schema maximum for this field.
Does this Actor manage Pinterest campaigns?
No. It searches the public Ads Transparency Repository. It does not create, edit, launch, or manage Pinterest campaigns.
📝 Changelog
v0.0 (02-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Google Ads Scraper - Compare Pinterest creative research with public Google Ads Transparency Center creatives for the same brand.
- Facebook Page Transparency Scraper - Review public Meta Ad Library creatives and Page transparency for a cross-platform ad audit.
- Snapchat Ads Scraper - Search public Snapchat ad galleries to compare advertiser, creative, and impression data.
- Pinterest Video Downloader - Get direct media links from public Pinterest pins when you need to review a creative.
- Pinterest Image Downloader - Collect source image links and pin details for visual research alongside ad records.
Made with ❤️ by Maxime Dupré