Snapchat Discover Scraper
Pricing
Pay per event
Snapchat Discover Scraper
Extract public Snapchat Discover publishers, stories, snap media URLs, thumbnails, and publish metadata from Discover pages.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Extract public Snapchat Discover publishers, stories, snap media URLs, thumbnails, and publish metadata from Snapchat Discover pages.
Use this actor when you need a repeatable Snapchat Discover extractor for content intelligence, publisher monitoring, media research, or social trend workflows.
What does Snapchat Discover Scraper do?
Snapchat Discover Scraper loads public Snapchat Discover pages and extracts snap-level records from the embedded public page data.
It is built for public Discover surfaces such as:
https://www.snapchat.com/discover- public publisher pages
- public story or show pages that expose the same Snapchat page data
Each saved row represents one snap and includes story and publisher context.
Who is it for?
This scraper is useful for teams that monitor short-form social content.
- 🧠 Social intelligence teams tracking publisher activity
- 📺 Media analysts watching Discover shows and story inventory
- 📈 Brand teams comparing public Snapchat content formats
- 🗞️ Newsrooms monitoring public entertainment and lifestyle stories
- 🧪 Researchers collecting repeatable public metadata snapshots
- 🧰 Data teams feeding BI dashboards or archives
Why use this actor?
Snapchat Discover pages are dynamic and nested.
This actor normalizes the public page payload into clean dataset rows so you do not have to reverse-engineer the Next.js and Apollo cache yourself.
Benefits:
- HTTP-first extraction without a browser by default
- One row per snap for easy exports
- Publisher and story context on every row
- Media, preview, thumbnail, and profile image URLs when present
- Conservative defaults for cheap smoke runs
- Optional proxy support for challenged requests
What data can you extract?
The dataset contains snap-level records enriched with story and publisher metadata.
| Field | Description |
|---|---|
publisherName | Public publisher or creator display name |
publisherUsername | Snapchat username when present |
publisherBio | Public bio text when present |
storyTitle | Discover story or episode title |
storyType | Snapchat story type from the public payload |
storyPublishedAt | Published timestamp converted to ISO format |
storyThumbnailUrl | Story thumbnail URL |
snapMediaType | Snap media type, such as video or image |
snapMediaUrl | Public media URL when exposed |
snapPreviewUrl | Preview or thumbnail URL |
snapUrl | Public snap URL candidate when exposed |
scrapedAt | Timestamp when the actor saved the row |
How much does it cost to scrape Snapchat Discover?
This actor uses pay-per-event pricing.
You pay a small start fee plus a per-record event for each snap row saved.
The default input saves up to 20 snap records, which is suitable for a first run and matches the platform default.
Actual cost depends on:
- number of snap records requested
- whether proxy mode is enabled
- page response size
- Apify account pricing tier
Input options
The actor accepts a small set of inputs.
startUrls
Optional list of Snapchat URLs.
If you leave this empty, the actor scrapes:
https://www.snapchat.com/discover
Use this field when you want to monitor a specific public publisher, story, or show page.
maxItems
Maximum number of snap records to save.
Use a low number for testing and a higher number for monitoring runs.
useProxy
Enable Apify Proxy only if your run is challenged or blocked.
Direct HTTP mode is cheaper and is the default.
proxyGroups
Optional Apify Proxy group names used only when proxy mode is enabled.
For example, advanced users may test RESIDENTIAL if Snapchat challenges their traffic.
Example input
{"startUrls": [{ "url": "https://www.snapchat.com/discover" }],"maxItems": 20,"useProxy": false}
Output example
{"recordType": "snap","sourceUrl": "https://www.snapchat.com/discover","storyId": "63123326193664","storyType": "PremiumPublisherStory","storyTitle": "White Diamond Hairs","storyUrl": "https://www.snapchat.com/add/interiors","storyThumbnailUrl": "https://cf-st.sc-cdn.net/...","storyPublishedAt": "2026-07-04T01:12:00.000Z","publisherUsername": "interiors","publisherName": "Interiors","snapIndex": 1,"snapMediaType": "VIDEO","snapMediaUrl": "https://cf-st.sc-cdn.net/...","snapPreviewUrl": "https://cf-st.sc-cdn.net/...","scrapedAt": "2026-07-04T02:30:00.000Z"}
How to scrape Snapchat Discover
- Open Snapchat Discover Scraper on Apify.
- Keep the default Discover URL or add your own public Snapchat URLs.
- Choose the maximum number of snap records.
- Leave proxy mode disabled for the first run.
- Start the actor.
- Download results as JSON, CSV, Excel, XML, or RSS from the dataset.
Tips for reliable runs
- Start with the default Discover URL.
- Keep
maxItemslow while testing. - Increase
maxItemsonly after you confirm the output shape. - Enable proxy mode only when you see challenge or blocked-response errors.
- Use scheduled runs to capture snapshots over time.
- Store
sourceUrlandscrapedAtin your warehouse for historical comparisons.
Common use cases
Track Discover publishers
Monitor which publishers appear in public Discover inventory and how their media changes over time.
Build a media URL archive
Save public media and preview URLs for downstream analysis or quality control.
Compare story formats
Use storyType, snapMediaType, thumbnails, and publisher names to compare content formats.
Create a social intelligence feed
Schedule daily runs and export the dataset to BI tools or a database.
Integrations
You can connect the actor output to many Apify and external tools.
- Google Sheets exports for lightweight editorial tracking
- Webhooks for run-complete notifications
- Make or Zapier flows for no-code automation
- BigQuery, Snowflake, or PostgreSQL pipelines
- Internal dashboards that group by publisher or story
- Slack alerts when a tracked publisher appears
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/snapchat-discover-scraper').call({startUrls: [{ url: 'https://www.snapchat.com/discover' }],maxItems: 20,});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/snapchat-discover-scraper').call(run_input={'startUrls': [{'url': 'https://www.snapchat.com/discover'}],'maxItems': 20,})print(run['defaultDatasetId'])
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~snapchat-discover-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls":[{"url":"https://www.snapchat.com/discover"}],"maxItems":20}'
MCP usage
Use this actor through Apify MCP when you want Claude or another MCP client to run Snapchat Discover extraction.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/snapchat-discover-scraper
Claude Code setup:
$claude mcp add apify-snapchat-discover --transport http "https://mcp.apify.com/?tools=automation-lab/snapchat-discover-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-snapchat-discover": {"url": "https://mcp.apify.com/?tools=automation-lab/snapchat-discover-scraper"}}}
Example prompts:
- "Run the Snapchat Discover scraper for the default Discover page and summarize the publishers."
- "Extract 20 public Snapchat Discover snap records and group them by publisher."
- "Monitor this Snapchat publisher URL and tell me which story titles changed."
Data quality notes
Snapchat controls which fields are present in each public payload.
Some rows may not contain every URL or title.
The actor keeps missing fields as null rather than guessing.
This makes exports easier to validate and safer for automated pipelines.
Legality and privacy
This actor is designed for public Snapchat pages only.
It does not log in, bypass private accounts, or access non-public user data.
You are responsible for using the extracted data in compliance with applicable laws, Snapchat terms, and your internal policies.
If you are unsure whether your use case is allowed, consult legal counsel before running large-scale collection.
FAQ
Does this actor require a Snapchat login?
No. It only extracts data from public Snapchat pages that are reachable without logging in.
Can I scrape private Snapchat accounts?
No. This actor is for public Discover and publisher pages only.
Troubleshooting
The run says no records were extracted
Snapchat may have changed the page payload, returned a challenge page, or the input URL may not expose Discover data.
Try the default Discover URL first.
If direct HTTP is challenged, enable proxy mode and run a small test.
Some media URLs look temporary
Snapchat CDN URLs can change or expire.
Store the scrapedAt timestamp and refresh your dataset on a schedule if you need current links.
I only need publishers, not every snap
Export the dataset and group by publisherUsername or publisherName.
The actor emits snap rows so media intelligence workflows still have complete context.
Related scrapers
Other Automation Lab actors can complement this dataset:
- https://apify.com/automation-lab/tiktok-scraper
- https://apify.com/automation-lab/instagram-profile-scraper
- https://apify.com/automation-lab/youtube-channel-scraper
- https://apify.com/automation-lab/twitter-scraper
Changelog
0.1
Initial version with HTTP-first extraction from public Snapchat Discover page payloads.
Support
If the actor stops extracting records, open an issue with:
- input JSON
- run ID
- whether proxy mode was enabled
- sample URL that failed
This helps reproduce page-shape changes quickly.