Snapchat Profile Scraper avatar

Snapchat Profile Scraper

Pricing

Pay per event

Go to Apify Store
Snapchat Profile Scraper

Snapchat Profile Scraper

Fetch Snapchat public profile data by username — display name, bio, subscriber count, snapcode, and current story snaps — parsed from the profile page's embedded JSON. Skips private or removed accounts without failing the run.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share


🎯 What this scrapes

www.snapchat.com/@<username> public profile pages. We parse the page's embedded Next.js __NEXT_DATA__ payload and return one row per username: profile info (display name, bio, website, subscriber count, snapcode) plus the account's current story snaps, when it has one.

🔥 What we handle for you

  • 🛡️ Browser fingerprint rotation — curl-cffi impersonates real Chrome / Firefox TLS handshakes so the target sees a browser, not Python.
  • 🌐 Proxy routing pinned to a US exit via Apify Proxy — the profile payload is geo-aware, so we keep every run on the exit geography that returns full data.
  • 🔁 Retries with exponential backoff on 408 / 429 / 503 and network errors — up to 5 attempts per profile, Retry-After honoured.
  • 🧩 Per-username fault isolation — a private, removed, or malformed profile is skipped with a logged reason; it never sinks the rest of the run.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for profiles that actually land in your dataset.

💡 Use cases

  • Brand-safety monitoring — track what a creator account is currently posting.
  • Influencer research — pull subscriber counts and bios for a shortlist of accounts.
  • Social-media monitoring tools — feed structured Snapchat profile data into a dashboard.
  • Competitive research — compare public creator profiles across a category.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Paste in one or more Snapchat usernames (with or without the leading @).
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
usernamesarray (stringList)yes—1+ Snapchat usernames. A leading @ and blank entries are stripped automatically.
proxyConfigurationobject (proxy)no{"useApifyProxy": true, "apifyProxyGroups": ["BUYPROXIES94952"], "apifyProxyCountry": "US"}Apify Proxy, pinned to a US exit — the profile payload is geo-aware.

Example input

{
"usernames": ["kyliejenner"],
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["BUYPROXIES94952"],
"apifyProxyCountry": "US"
}
}

📤 Output

Every row is one resolved public profile.

FieldTypeNotes
usernamestringRequested username, normalized (no @).
is_public_profilebooleantrue when the account has a public creator profile.
display_namestring | nullPublic display name.
biostring | nullProfile bio text.
website_urlstring | nullLinked website.
subscriber_countinteger | nullPublic subscriber count.
profile_picture_urlstring | nullProfile picture URL.
snapcode_image_urlstring | nullSnapcode deep-link image.
has_active_storybooleanWhether the account currently has a live story.
story_snap_countintegerNumber of snaps in the current story.
story_snapsarrayPer-snap media URL, type, and post time.
page_titlestring | nullThe profile page's <title> text.
profile_urlstringhttps://www.snapchat.com/@<username>.
scraped_atstringISO-8601 UTC timestamp of the fetch.

Example output

{
"username": "kyliejenner",
"is_public_profile": true,
"display_name": "King Kylie 👑",
"bio": "",
"website_url": "kyliecosmetics.com",
"subscriber_count": 29262900,
"profile_picture_url": "https://cf-st.sc-cdn.net/...",
"snapcode_image_url": "https://app.snapchat.com/web/deeplink/snapcode?username=kyliejenner&type=SVG&bitmoji=enable",
"has_active_story": true,
"story_snap_count": 3,
"story_snaps": [
{"snap_index": 0, "media_type": 0, "media_url": "https://cf-st.sc-cdn.net/d/...", "media_preview_url": "https://cf-st.sc-cdn.net/d/...", "posted_at": "2026-09-18T12:00:00+00:00"}
],
"page_title": "King Kylie 👑 (@kyliejenner) | Snapchat Stories, Spotlight & Lenses",
"profile_url": "https://www.snapchat.com/@kyliejenner",
"scraped_at": "2026-09-24T12:00:00+00:00"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.20One-off warm-up charge per run
profile-scraped$0.003 (provisional)Per resolved public profile pushed to the dataset

Example: 1 000 profiles at the rates above ≈ $3.20. No subscription, no minimum. The profile-scraped rate is measured against a real batch before publish, per this fleet's pricing rule — the number above may move slightly.

🚧 Limitations

  • v1 covers the profile card and current story only — no lenses, curated/spotlight highlights, tagged-tab search, or pagination.
  • story_snaps[].media_url and media_preview_url point at Snapchat CDN links that expire — Snapchat stories are ephemeral by design, so treat story media as a snapshot, not a durable asset.
  • A private, removed, or non-public account is a per-item skip, not a run failure — it's counted and reported in the run's status message.
  • No authenticated/logged-in views, DMs, or friend-graph data.

❓ FAQ

Do I need a Snapchat account?

No. This Actor reads only the public profile page at snapchat.com/@<username> — no login, no API key.

What happens if a username doesn't exist or isn't public?

The run reports it as a skipped username in the status message and keeps going — one bad username never fails the whole run.

Why does story_snaps come back empty sometimes?

Either the account has no active story right now, or its story expired between your request and ours — Snapchat stories are short-lived by design.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.