Collecting regional ad spend data from major social networks usually requires headless browser setups, cookie management, and fragile selectors that break every time the platform updates its DOM. Snapchat provides an alternative through its public Ads Library API. Mandated by European Union digital advertising transparency regulations, this open endpoint exposes ad creatives, targeting parameters, impression counts, and creator campaigns without requiring authentication, user sessions, or browser automation.
The Snapchat Ads Gallery Scraper interfaces directly with adsapi.snapchat.com/v1/ads_library. Data engineers can retrieve structured records containing media download links, campaign dates, review statuses, and per-country impression distributions directly into an Apify dataset. The scraper operates in three distinct modes: adSearch for specific advertisers, sponsoredContent for bulk cataloging, and creatorSearch for creator-sponsored campaigns.
Understanding the Three Scraping Modes
Each mode interacts with different endpoints or parameters within the underlying transparency API. Selecting the correct mode prevents unnecessary failed requests and empty datasets.
The adSearch mode targets specific brands by passing a string to the payingAdvertiserName input property, such as nike or coca-cola. However, the underlying API enforces a hard limit of ten results per advertiser search request and does not support pagination for this endpoint. Trying to request more than ten records in this mode will not succeed due to this platform-level constraint.
When bulk collection is required, the sponsoredContent mode bypasses the ten-ad limitation. It browses publicly disclosed branded content with full pagination support, allowing data engineers to retrieve up to 10,000 records per run. This mode is suited for gathering Spotlight-based sponsored posts across multiple brands simultaneously.
The creatorSearch mode bridges the gap between influencer marketing and ad transparency. By supplying a value to the creatorName property, developers can query sponsored content posts associated with a specific creator username or display name. Both sponsoredContent and creatorSearch output records share the same schema, identifying themselves with a recordType of sponsoredContent.
Configuring Regional and Temporal Filters
Targeting specific geographic regions requires understanding country code validation rules. The countries input property accepts an array of EU member state codes such as de, fr, it, es, pl, and nl. If left empty, the scraper attempts to pull data across all available regions.
A frequent failure mode involves the United Kingdom. While the UK is a major market for campaigns running in English, gb is not supported by the Snapchat Ads Library API. Including gb in the countries array triggers a 400 error from the endpoint. Developers must filter out UK-specific requirements before passing arrays to the input schema.
Temporal parameters are controlled via startDate and endDate fields. These accept ISO 8601 strings or standard YYYY-MM-DD formats. Combined with the status selector—which accepts ACTIVE, PAUSED, or ALL—these fields allow data pipelines to isolate currently running ad creatives from historical campaigns.
Step-by-Step Configuration Walkthrough
- Create a new actor task on Apify using the Snapchat Ads Gallery Scraper actor page as the template.
- Define your parameters in the JSON input editor. For a targeted brand audit, set
modetoadSearch, supply a string topayingAdvertiserName, and restrict the geographic scope using thecountriesarray. - Configure temporal bounds by assigning ISO 8601 timestamps to
startDateandendDateto limit the payload to recent campaign iterations. - Execute the run. The actor pushes individual items to the default dataset, charging $0.005 per resulting event, alongside a flat rate of $0.005 per GB of memory allocated to the run for platform usage.
Handling Ad Record Outputs and Media Assets
The resulting dataset contains detailed metadata structures. In adSearch mode, each record pushes with a recordType of ad. Essential fields include adId, headline, callToAction, and languages.
Crucially for media archival pipelines, the mediaDownloadUrl property provides a direct CDN link to download the underlying video or image file associated with the ad creative. Developers do not need to parse webpage elements to find video sources; the API exposes these direct asset endpoints.
Impression data is structured into two main fields. impressionsTotal provides the aggregate count across all regions, while impressionsMap supplies a granular JSON object mapping each two-letter EU country code to its specific impression count. For instance, an impressionsMap value of {"fr": 900000, "de": 600000} reveals exact regional delivery splits.
Sponsored Content Record Schema
When running in sponsoredContent or creatorSearch modes, the output schema shifts to match branded organic posts rather than traditional paid ads. Records in this category include contentType (such as SPOTLIGHT), contentUrl, thumbnailUrl, creatorName, creatorUrl, sponsorName, and sponsorUrl.
These records allow analyst teams to monitor creator partnerships and sponsored Spotlight distributions without maintaining manual spreadsheets of influencer collaborations. The inclusion of profile URLs (snapchat.com/add/{username}) simplifies downstream entity resolution when cross-referencing creator performance against other social tracking tools.
Operational Limits and Cost Mechanics
Pricing for this actor operates on a pay-per-event model. Every successful item written to the dataset incurs a charge of $0.005 per event, subject to the user's Apify discount tier where FREE and BRONZE users pay $0.005 and $0.00433 respectively, while SILVER, GOLD, PLATINUM, and DIAMOND tiers drop the event cost to $0.003. Additionally, a flat charge of $0.005 per GB of memory allocated to the run applies once when the actor starts.
This tool is strictly bound by the data exposed in Snapchat's transparency library. It does not perform general user scraping, private story extraction, or audience sentiment analysis outside of what is publicly disclosed under regulatory mandates. Developers requiring deeper profile analytics or lens metadata should inspect complementary modules like the Snapchat Profile Scraper or Snapchat Lens Scraper rather than relying solely on the ads library endpoint.
Runs in this article used Snapchat Ads Gallery Scraper. Its README is the reference for input fields and output structure; this post is only one path through them.
Prices quoted above are this Actor's published pay-per-event rates on the Apify Store, read from the Apify platform API on 2026-09-25. Check the Actor page for the current rates.
Top comments (0)