Snapchat Ads Scraper avatar

Snapchat Ads Scraper

Pricing

from $5.00 / 1,000 ad scrapeds

Go to Apify Store
Snapchat Ads Scraper

Snapchat Ads Scraper

Scrape Snapchat ads from the official Ads Gallery API + Political Ads Library — creatives, impressions, targeting, and spend. MCP/API-ready.

Pricing

from $5.00 / 1,000 ad scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Share

Snapchat Ads Scraper is an Apify Actor for marketers, researchers, journalists, compliance teams, and AI agents that need one structured record per Snapchat ad or archive row. It accepts a single JSON input object and returns one flat record per item, depending on the selected mode. The output can include advertiser name, creator name, headline, call to action, media URL, landing URL, impressions, spend, targeting, and review status when Snapchat provides those fields. The Actor is usable through Apify, the Apify API, and Apify MCP, and it writes results to the default dataset for programmatic readback.

Best fit and connected workflows

This Actor fits workflows that begin with a brand name, creator handle, or political search term and continue into structured Snapchat ad records for review, analysis, or automation.

  • Use search when you have a paying advertiser name and want Ads Gallery records for a brand in EU and EEA markets.
  • Use creator when you have a creator name and want sponsored or branded content tied to that public profile.
  • Use political when you need records from the worldwide Political Ads Library, including spend and targeting fields.
  • If your workflow starts in another advertising transparency surface, this Actor works well as the Snapchat-specific step in a broader cross-platform research pipeline.

Practical scenario

A media analyst wants to review ads from a cosmetics brand in France and Germany. They start with the advertiser name, select search mode, add fr and de to countries, and set status to ACTIVE. The returned records include fields such as headline, callToAction, mediaDownloadUrl, landingUrl, impressionsTotal, and targeting. The analyst uses those fields to compare creative hooks and then opens the landing URLs for manual review.

Input fields

FieldTypeModeDescription
modestringallSelects the Snapchat data source: search, creator, or political. Defaults to search.
advertiserNamestringsearchPaying advertiser / brand name for Ads Gallery search.
countriesarray[string]searchEU/EEA country codes for Ads Gallery search. Empty selects the supported country set.
statusstringsearchAds Gallery delivery status filter: ANY, ACTIVE, or PAUSED.
startDatestringsearchLower bound for Ads Gallery delivery date, in ISO-8601 format.
endDatestringsearchUpper bound for Ads Gallery delivery date, in ISO-8601 format.
creatorNamestringcreatorCreator / public profile name for creator mode.
politicalYearsarray[string]politicalPolitical Ads Library archive years to download.
politicalCountrystringpoliticalOptional 2-letter country filter for political records.
politicalSearchTermstringpoliticalOptional keyword filter for political records.
maxResultsintegerallMaximum number of records to return and bill for.
proxyConfigurationobjectallProxy settings, with Apify Proxy as the default.

Focused input example

{
"mode": "search",
"advertiserName": "Nike",
"countries": ["fr", "de"],
"status": "ACTIVE",
"startDate": "2025-01-01",
"maxResults": 50
}

Output fields

The Actor stores flat records in the default dataset. The output schema points to the dataset items endpoint, and each record may include fields from the selected source.

FieldTypeDescription
sourcestringRecord origin such as ads_gallery, creator_content, or political.
idstringSnapchat ad or record identifier.
namestringInternal ad or creative name.
advertiserNamestringPaying advertiser from Ads Gallery records.
payingAdvertiserNamestringPaying advertiser from Political Ads Library records.
adAccountNamestringAd account name.
profileNamestringPublic Snapchat profile or handle.
creatorNamestringCreator handle in creator mode.
creatorUrlstringCreator profile URL in creator mode.
sponsorNamestringSponsoring brand in creator mode.
sponsorUrlstringSponsor profile URL in creator mode.
contentTypestringSponsored content type in creator mode.
contentUrlstringSponsored content URL in creator mode.
thumbnailUrlstringContent thumbnail URL in creator mode.
statusstringDelivery status.
creativeTypestringCreative format, such as WEB_VIEW.
adTypestringAd type, such as REMOTE_WEBPAGE.
headlinestringAd headline text.
callToActionstringCTA label, such as SHOP NOW.
languagesarrayCreative languages.
topSnapMediaTypestringTop-snap media type, such as VIDEO or IMAGE.
mediaDownloadUrlstringDirect CDN media download link.
landingUrlstringWeb view or landing page URL.
creativeUrlstringCreative URL in political mode.
startDatestringDelivery start, ISO-8601.
endDatestringDelivery end, ISO-8601.
impressionsTotalintegerTotal impressions in Ads Gallery mode.
impressionsintegerImpressions bucket in political mode.
impressionsByCountryobjectNon-zero impressions keyed by ISO country.
spendnumberReported spend in political mode.
currencyCodestringSpend currency in political mode.
countryCodestringCountry in political mode.
organizationNamestringFunding organization in political mode.
candidateBallotInfostringCandidate or ballot info in political mode.
committeeNamestringCommittee name in political mode.
advertisingJurisdictionstringJurisdiction in political mode.
genderstringGender targeting.
ageBracketstringAge bracket targeting in political mode.
regionsIncludedstringIncluded regions in political mode.
interestsstringInterest targeting in political mode.
segmentsstringAudience segments in political mode.
languagestringTargeted language in political mode.
osTypestringOS targeting in political mode.
targetingobjectSimplified Ads Gallery targeting such as age, gender, and devices.
reviewStatusstringSnapchat review status.

Illustrative dataset record

{
"source": "ads_gallery",
"id": "1e02cbfd-033c-419b-af83-8ab4dabf68de",
"advertiserName": "Nike, Inc.",
"adAccountName": "Nike EMEA - Initiative Womens",
"profileName": "jumpman23",
"status": "ACTIVE",
"creativeType": "WEB_VIEW",
"adType": "REMOTE_WEBPAGE",
"headline": "La Air Jordan 40 est arrivée",
"callToAction": "SHOP NOW",
"topSnapMediaType": "VIDEO",
"mediaDownloadUrl": "https://cf-st.sc-cdn.net/d/...",
"landingUrl": "https://www.nike.com/fr/w/...",
"startDate": "2025-07-11T22:00:00.000Z",
"impressionsTotal": 2437373,
"impressionsByCountry": {
"fr": 2437373
},
"targeting": {
"minAge": "18"
},
"reviewStatus": "APPROVED"
}

How it works

This Actor uses Snapchat's public ad transparency surfaces in three modes:

  • search queries the Ads Gallery for brand or advertiser searches in EU and EEA markets.
  • creator pulls sponsored and branded content tied to a creator name.
  • political downloads the Political Ads Library archive and filters rows by year, country, and keyword when those inputs are provided.

The live manifest describes the Actor as HTTP-only and no-auth, and the dataset schema exposes a single flat record shape with fields that vary by source. The output schema points readers to the default dataset items endpoint, so downstream tools can read the results directly.

Pricing

This Actor uses Pay per event pricing plus Apify platform usage. Open the live Pricing tab in the Apify Console for the current pricing details for your account and run.

Billing events are defined by the returned records:

  • Actor start: one event per run
  • Ad scraped: one event for each Ads Gallery or creator content item returned
  • Political ad scraped: one event for each Political Ads Library record returned

Example in words: if a run returns one hundred Ads Gallery records, the execution includes one Actor start event and one hundred ad scraped events. If you run the same Actor in political mode and return fifty political records, the execution includes one Actor start event and fifty political ad scraped events for that run.

Use with AI agents (MCP)

This Actor is available as an Apify Actor usable through Apify MCP. The exact Actor identity is khadinakbar/snapchat-ads-scraper.

Tool description: fetch Snapchat ad transparency records from Ads Gallery, creator content, or the Political Ads Library and return structured dataset rows that can be read programmatically.

Search Snapchat Ads Gallery for Nike in France and Germany, then return the ad records with headline, CTA, media URL, landing URL, impressions, and targeting.

Output interpretation: source identifies which Snapchat surface produced each record, and the remaining fields reflect the selected mode. Provenance lives in the returned dataset rows created by the Actor run. Ads Gallery requests are paginated through Snap's public cursor flow until maxResults is reached, while political mode reads yearly archive files selected in the input. To manage cost, set maxResults before the run so billing stops at the selected record count. The returned dataset can be read from the default dataset items endpoint, which is the same output location used by Apify API clients and MCP workflows.

Apify API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/snapchat-ads-scraper').call({
mode: 'search',
advertiserName: 'Nike',
countries: ['fr', 'de'],
status: 'ACTIVE',
maxResults: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems({
clean: true,
format: 'json',
});
console.log(items);

Best results and outcome guidance

Use the input that matches the Snapchat surface you already know.

  • Start with advertiserName for commercial Ads Gallery research.
  • Use creatorName when the starting point is a public creator profile.
  • Use politicalYears with politicalCountry or politicalSearchTerm when the task is archive analysis.
  • Keep maxResults aligned with the number of records you want to analyze.
  • Review mediaDownloadUrl, landingUrl, headline, callToAction, and targeting together when comparing creative and delivery details.

Focused standalone workflow

This Actor is designed as a focused standalone workflow.

Design note

I found that the overview view is intentionally source-agnostic: it highlights source, advertiserName, payingAdvertiserName, headline, callToAction, status, impressionsTotal, spend, currencyCode, startDate, mediaDownloadUrl, and landingUrl across all modes.

FAQ

When should I use search instead of creator?
Use search when the starting point is a paying advertiser or brand name. Use creator when the starting point is a creator handle or public profile name.

What does political add that the other modes may not?
Political mode returns records from the Political Ads Library and includes spend, currency, and richer targeting fields such as country, age bracket, gender, interests, and segments when they are present.

Which countries are available in Ads Gallery search?
The input schema lists the supported EU and EEA country codes in the countries field, and leaving the field empty selects the supported country set.

How do I control run size?
Set maxResults to the number of records you want returned and billed.

Can I use this Actor through Apify MCP?
Yes. It is an Apify Actor usable through Apify MCP, and the Actor identity is khadinakbar/snapchat-ads-scraper.

Responsible use

This Actor reads public Snapchat ad transparency sources. Use the data in ways that respect applicable laws, platform terms, and privacy obligations. Review the returned records in context before making decisions based on them.