Snapchat Ads Scraper
Pricing
from $1.80 / 1,000 commercial ads
Snapchat Ads Scraper
Search Snapchat's public Ads Gallery by advertiser, country, dates, or status. Search its political and advocacy archive by year, country, advertiser, or keyword, or sponsored content by creator name. Get structured ad, impression, targeting, creative, spend, and source-link data when published.
Pricing
from $1.80 / 1,000 commercial ads
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
👻 Read Snapchat ads across three public surfaces
Marketers, analysts, journalists, and creator teams can use Snapchat Ads Scraper to research public ads and creator content. Choose Commercial ads, Political and advocacy ads, or Sponsored creator content, then get structured rows with public ad identity, advertiser, dates, impressions, targeting, creative links, spend, or creator links when Snapchat publishes them. This puts the published facts in one dataset and can reduce manual research.
- Collect matching public Snapchat ad records with Snapchat Ads Scraper.
- Find sponsored creator content by creator name with Snapchat Sponsored Content.
- Review political and advocacy archive ads by year with Snapchat Political Ads.
- Filter commercial Ads Gallery records by advertiser and country with Snapchat Commercial Ads.
- Search the public Snapchat ads library for a focused query with Snapchat Ads Library.
📊 See one row for each public Snapchat match
Each saved row has a resultType that shows which public Snapchat surface produced it. Commercial ads use ad and delivery fields. Political and advocacy ads use archive, spend, targeting, and original-row fields. Sponsored creator content uses creator and content links. Optional values stay absent when Snapchat does not publish them.
Rows are saved as eligible source items are found. If the same source item appears again during a run, the Actor keeps the first eligible row and ignores later matches. The saved row shows the first match.
▶️ Choose a Snapchat surface and start a run
Run steps
- Choose
Commercial ads,Political and advocacy ads, orSponsored creator contentin Result type. - Fill in the fields for that surface. Shared advertiser and country filters apply to the ad searches. Fields for other surfaces are ignored.
- Set Maximum results when you want to stop after a chosen number of rows. Leave it empty to return all available results until the source is exhausted.
- Start the run and open the default dataset.
Use a date window or status for a commercial ad search. Choose archive years, a country, an advertiser, or a political keyword for political and advocacy ads. Enter a creator name for sponsored creator content.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
resultType | string | Selects the public Snapchat surface: commercialAds, politicalAds, or sponsoredCreatorContent. |
commercialDateFrom | string | Optional first date in the commercial ad activity window. Use YYYY-MM-DD. |
commercialDateTo | string | Optional last date in the commercial ad activity window. Use YYYY-MM-DD. |
commercialStatus | string | Chooses active, paused, or both for commercial ads. |
politicalYears | string[] | Adds one or more four-digit years for the published political and advocacy ad archive. |
politicalKeyword | string | Optionally searches the published political or advocacy ad record with free text. |
creatorName | string | Searches public sponsored or branded Snapchat content for one creator name. |
advertiser | string | Sets one advertiser, brand, or organization for an ad search. It is used for Commercial ads and is optional for Political and advocacy ads. |
countries | string[] | Adds supported EU/EEA countries for Commercial ads or one country for Political and advocacy ads. Sponsored creator content ignores this field. Leave it empty to use the source's full country scope. |
maxItems | integer | Sets the maximum rows to save for the selected surface. Leave it empty to return all available results until the source is exhausted. |
How the options work
Commercial ads use the public EU/EEA Ads Gallery. Political and advocacy ads use the published archive for the years you enter. Sponsored creator content searches the public creator surface by name. The form's shared filters do not configure more than one independent search in the same run.
This example is the smallest successful common input from a current beta run:
{"resultType": "commercialAds","commercialStatus": "both","advertiser": "Amazon","countries": ["de"],"maxItems": 1}
🧾 Output
The output panel provides datasetUrl, which opens the saved rows in the default dataset.
Output link
| Field | Type | What it does |
|---|---|---|
datasetUrl | string | Opens the saved rows in the default dataset. |
Commercial ad rows
| Field | Type | What it does |
|---|---|---|
resultType | string | Always commercialAds for this row. |
adId | string | Public identifier of the commercial ad. |
advertiser | string | Paying advertiser or brand published for the ad. |
headline | string | Published ad headline, when available. |
callToAction | string | Published call to action, when available. |
adType | string | Commercial ad type published by Snapchat, when available. |
creativeType | string | Creative type published for the ad, when available. |
reviewStatus | string | Review status published for the ad, when available. |
adStatus | string | Published active or paused status, when available. |
startDate | string | Campaign start date published for the ad, when available. |
countries | string[] | Countries in the ad's published delivery scope. |
totalImpressions | integer | Total impressions published for the ad. |
impressionsByCountry | object[] | Published impression counts for each country, when available. |
impressionsByCountry.country | string | Country for one published impression count. |
impressionsByCountry.impressions | integer | Number of impressions published for that country. |
targeting | object | Published audience targeting context. |
targeting.geography | string[] | Published geographic targeting values. |
targeting.ageRanges | string[] | Published target age ranges. |
targeting.genders | string[] | Published target gender values. |
targeting.languages | string[] | Published target language values. |
targeting.interests | string[] | Published target interest values. |
targeting.segments | string[] | Published target audience segment values. |
targeting.devices | string[] | Published target device values. |
creativeLanguages | string[] | Languages published for the commercial creative. |
destinationUrls | string[] | Public landing or destination links published for the ad. |
mediaUrls | string[] | Direct public media or creative links published for the ad. |
Commercial ad row
This complete row is from a successful run of the current beta build.
{"resultType": "commercialAds","adId": "b15f8896-3777-4103-aebb-b71cfa4c5eca","advertiser": "Amazon Snapchat EU WPP","headline": "Die Stimmen in deinem Kopf so","callToAction": "MORE","adType": "REMOTE_WEBPAGE","creativeType": "WEB_VIEW","reviewStatus": "APPROVED","adStatus": "ACTIVE","startDate": "2026-01-18","totalImpressions": 2927752,"countries": ["de","be","fi","pt","bg","dk","lt","lu","hr","lv","fr","hu","se","si","sk","ie","ee","el","mt","it","es","at","cy","cz","pl","ro","nl","tr"],"impressionsByCountry": [{"country": "de","impressions": 2927752},{"country": "be","impressions": 0},{"country": "fi","impressions": 0},{"country": "pt","impressions": 0},{"country": "bg","impressions": 0},{"country": "dk","impressions": 0},{"country": "lt","impressions": 0},{"country": "lu","impressions": 0},{"country": "hr","impressions": 0},{"country": "lv","impressions": 0},{"country": "fr","impressions": 0},{"country": "hu","impressions": 0},{"country": "se","impressions": 0},{"country": "si","impressions": 0},{"country": "sk","impressions": 0},{"country": "ie","impressions": 0},{"country": "ee","impressions": 0},{"country": "el","impressions": 0},{"country": "mt","impressions": 0},{"country": "it","impressions": 0},{"country": "es","impressions": 0},{"country": "at","impressions": 0},{"country": "cy","impressions": 0},{"country": "cz","impressions": 0},{"country": "pl","impressions": 0},{"country": "ro","impressions": 0},{"country": "nl","impressions": 0},{"country": "tr","impressions": 0}],"targeting": {"ageRanges": ["18-34"],"languages": ["de"]},"creativeLanguages": ["de"],"destinationUrls": ["https://www.amazon.de/gp/video/storefront?contentId=IncludedwithPrime&contentType=merch&merchId=IncludedwithPrime&ref_=dvm_pds_gen_de_s_q125brand"],"mediaUrls": ["https://cf-st.sc-cdn.net/d/ftXWptD2iSy3WuNMrHLoc.67?mo=GpUCGggyAgR9UA9gAVAvWghBZHNNZWRpYaIBOwhDEi8KLQi-zCUgATDgAzjUBkABSg4KCT9IPjIfLS5DXhD0A1DwLmgCdTQ9MEB9AACAPyIGCgJIAhIAogE8CLoKEi8KLQj_wBwgATDQBTiACkACSg4KCUEvKyAaHR8yTBD0A1DwLmgCddpSKkB9AACAPyIGCgJIAxIAogE8CJIKEi8KLQjYoxYgATDgAzjUBkACSg4KCSctIhcQGRcqOBD0A1DwLmgCdS8GH0B9AACAPyIGCgJIAhIAogE8CNIKEi8KLQjyhBMgATDgAzjUBkACSg4KCS4dGhUSEhQiMxD0A1DwLmgCdW35I0B9AACAPyIGCgJIAhIAkAPwLg%3D%3D&uc=15"]}
Political or advocacy ad rows
| Field | Type | What it does |
|---|---|---|
resultType | string | Always politicalAds for this row. |
sourceRecordUrl | string | Public Snapchat URL for the archive record, when published. |
archiveYear | string | Published archive year. |
adId | string | Public identifier of the political or advocacy ad. |
advertiser | string | Paying advertiser published for the ad, when available. |
organization | string | Organization published for the ad, when available. |
country | string | Country published for the ad, when available. |
spend | object | Reported spend and currency, when published. |
spend.amount | number | Reported spend amount. |
spend.currency | string | Currency for the reported spend. |
impressions | integer | Reported impressions, when published. |
startDate | string | Published start date of the ad run, when available. |
endDate | string | Published end date of the ad run, when available. |
creative | object | Published creative details. |
creative.url | string | Public creative URL, when available. |
creative.type | string | Published creative type, when available. |
creative.title | string | Published creative title, when available. |
creative.text | string | Published creative text, when available. |
creative.language | string | Published creative language, when available. |
creative.thumbnailUrl | string | Public creative thumbnail URL, when available. |
candidate | object | Published candidate details, when available. |
candidate.name | string | Published candidate name. |
candidate.party | string | Published candidate party, when available. |
candidate.office | string | Published office sought, when available. |
ballot | object | Published ballot information, when available. |
ballot.measure | string | Published ballot measure. |
ballot.option | string | Published ballot option, when available. |
targeting | object | Published audience targeting context. |
targeting.geography | string[] | Published geographic targeting values. |
targeting.ageRanges | string[] | Published target age ranges. |
targeting.genders | string[] | Published target gender values. |
targeting.languages | string[] | Published target language values. |
targeting.interests | string[] | Published target interest values. |
targeting.segments | string[] | Published target audience segment values. |
targeting.devices | string[] | Published target device values. |
originalRecord | object | Useful values from the original published archive row. |
originalRecord.adId | string | Ad ID exactly as published in the archive row. |
originalRecord.archiveYear | string | Archive year exactly as published in the archive row. |
originalRecord.advertiser | string | Advertiser exactly as published in the archive row. |
originalRecord.organization | string | Organization exactly as published in the archive row. |
originalRecord.country | string | Country exactly as published in the archive row. |
originalRecord.spend | string | Spend exactly as published in the archive row. |
originalRecord.currency | string | Currency exactly as published in the archive row. |
originalRecord.impressions | string | Impressions exactly as published in the archive row. |
originalRecord.startDate | string | Start date exactly as published in the archive row. |
originalRecord.endDate | string | End date exactly as published in the archive row. |
originalRecord.creativeUrl | string | Creative URL exactly as published in the archive row. |
originalRecord.creativeType | string | Creative type exactly as published in the archive row. |
originalRecord.creativeText | string | Creative text exactly as published in the archive row. |
originalRecord.candidate | string | Candidate exactly as published in the archive row. |
originalRecord.ballot | string | Ballot value exactly as published in the archive row. |
Political or advocacy ad row
This complete row is from a successful run of the current beta build.
{"resultType": "politicalAds","archiveYear": "2024","adId": "32bb11584eadd817ff93244e656e2348fee05114ee3495a592de1fb0bea22191","sourceRecordUrl": "https://www.snap.com/political-ads/asset/3a01dd25a7e0e988b15281b97dc77e947d5be15544984b03b559e539027eeb24?mediaType=mp4","advertiser": "Harris for President","organization": "Harris for President","country": "united states","spend": {"amount": 221,"currency": "USD"},"impressions": 19806,"startDate": "2024-08-24","endDate": "2024-08-31","creative": {"url": "https://www.snap.com/political-ads/asset/3a01dd25a7e0e988b15281b97dc77e947d5be15544984b03b559e539027eeb24?mediaType=mp4","type": "mp4"},"candidate": {"name": "Kamala Harris"},"targeting": {"geography": ["united states","89014","89031","89074","89081","89084","89085","89086","89102","89103","89106","89113","89117","89118","89119","89120","89121","89123","89128","89129","89130","89138","89139","89141","89143","89144","89145","89146","89147","89148","89149","89166","89178","89179","89183","89427","89502","89503","89506","89509","89512"],"ageRanges": ["18-29"],"segments": ["Provided by Advertiser"]},"originalRecord": {"adId": "32bb11584eadd817ff93244e656e2348fee05114ee3495a592de1fb0bea22191","archiveYear": "2024","advertiser": "Harris for President","organization": "Harris for President","country": "united states","spend": "221","currency": "USD","impressions": "19806","startDate": "2024/08/24 22:00:10Z","endDate": "2024/08/31 03:59:59Z","creativeUrl": "https://www.snap.com/political-ads/asset/3a01dd25a7e0e988b15281b97dc77e947d5be15544984b03b559e539027eeb24?mediaType=mp4","candidate": "Kamala Harris"}}
Sponsored creator content rows
| Field | Type | What it does |
|---|---|---|
resultType | string | Always sponsoredCreatorContent for this row. |
sourceRecordUrl | string | Public Snapchat URL for the content record, when published. |
creator | object | Public creator identity associated with the content. |
creator.name | string | Public creator name, when available. |
creator.username | string | Public creator username, when available. |
creator.profileUrl | string | Public creator profile URL, when available. |
content | object | Public sponsored or branded content details. |
content.url | string | Public URL of the content. |
content.type | string | Published content type, when available. |
content.title | string | Published content title, when available. |
content.thumbnailUrl | string | Public thumbnail URL, when available. |
Sponsored creator content row
This complete row is from a successful run of the current beta build.
{"resultType": "sponsoredCreatorContent","sourceRecordUrl": "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYb3l1Z3VscGZtAaAfitESAaAfitD5AAAAAQ","creator": {"name": "mrbeast1383","username": "mrbeast1383","profileUrl": "https://www.snapchat.com/add/mrbeast1383"},"content": {"url": "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYb3l1Z3VscGZtAaAfitESAaAfitD5AAAAAQ","type": "SPOTLIGHT","thumbnailUrl": "https://cf-st.sc-cdn.net/i/ayUWzf62kD1nDUubHYhIw.256.IRZXSOY?mo=GkYaCTIBCUgCUC5gAVCgAVoQRGZMYXJnZVRodW1ibmFpbKIBEAiAAiILEgAqB0lSWlhTT1miARAImgoiCxIAKgdJUlpYU09Z&uc=46"}}
💳 Pricing
Pricing is pay per event. Each saved row uses the event for its selected surface. See the Apify Pricing tab for the current price of each event.
Buyer-facing events
| Event | What it covers |
|---|---|
| Commercial Ad | One commercial ad saved to your dataset. |
| Political Ad | One political or advocacy ad saved to your dataset. |
| Sponsored Content | One sponsored creator content match saved to your dataset. |
🔌 Integrations
Use the Apify API to start a run and read datasetUrl or the saved dataset rows. You can also schedule runs in Apify and export the dataset for later analysis.
❓ FAQ
Which public surface should I choose?
Choose Commercial ads for the public EU/EEA Ads Gallery. Choose Political and advocacy ads for published archive years. Choose Sponsored creator content when you want public sponsored or branded content for one creator name.
Can I run commercial and political searches together?
No. Choose one result type for each run. Run a separate search for each independent advertiser, creator, or political search you need.
Is this Snapchat Ads Manager?
No. This Actor searches public Snapchat sources. It does not manage campaigns or return private ad-account reports.
Does it search the Snapchat ads library?
Yes. Choose Commercial ads to search Snapchat's public Ads Gallery. The commercial archive covers supported EU/EEA delivery data and the history Snapchat makes available.
What happens when I leave Maximum results empty?
The Actor returns all available results for the selected surface until the source is exhausted. Set a positive number when you want a shorter run.
What happens when Snapchat does not publish a field?
That field is absent when the schema allows it. The Actor keeps source-provided values and does not invent missing details.
What happens when no records match?
The run ends with no matching dataset rows for that search. An empty match is different from a run error.
Does the Actor download ad or creator media?
No. It returns public destination, media, creative, content, or source links when Snapchat publishes them. It does not promise a downloaded media file.
How are repeated source items handled?
The first eligible occurrence is saved. A later appearance of the same source item is ignored, and the first saved row is not rewritten.
📝 Changelog
0.0: 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 public Google Ads Transparency Center creatives by advertiser, domain, keyword, or ID.
- Facebook Page Transparency Scraper - Review Meta Ad Library creatives and Page transparency for a brand.
- FEC Campaign Finance Scraper - Check official campaign contributions, spending, and independent expenditures.
- Influencer Scraper - Build public creator lists across TikTok, Instagram, and YouTube.
- Snapchat User Spotlight Scraper - Review public Snapchat Spotlight videos from creator profiles.
Made with ❤️ by Maxime Dupré