Snapchat Scraper — Public Profiles avatar

Snapchat Scraper — Public Profiles

Pricing

from $2.64 / 1,000 profile scrapeds

Go to Apify Store
Snapchat Scraper — Public Profiles

Snapchat Scraper — Public Profiles

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

from $2.64 / 1,000 profile scrapeds

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

2 days ago

Last modified

Categories

Security

Limited permissions

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.