SignalShelf · Developer documentation

Snapchat profile

Sample profile responses are available. Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Request

POST /api/v1/profiles · authenticate with the x-api-key header.

ParameterTypeRequiredDescription
platformstringYes"snapchat"
handlestringYesPublic profile username.
modestringNo"live" for real data, "demo" for a free labeled sample. Default "demo".
freshnessstringNoOldest cached result you accept: "1h", "24h" (default), "7d", or "live" to force a refresh.
REQUEST EXAMPLE
curl "$SIGNALSHELF_BASE_URL/api/v1/profiles" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $SIGNALSHELF_API_KEY" \
  --data '{"platform":"snapchat","handle":"kyliejenner","mode":"demo","freshness":"24h"}'

Example response

Labeled sample fixture. Values are illustrative and do not describe a real creator.

EXAMPLE
{
  "data": {
    "platform": "snapchat",
    "handle": "kyliejenner",
    "name": "Sample creator",
    "bio": "Illustrative sample data for exploring SignalShelf. Not a real profile lookup.",
    "followers": 128400,
    "following": 842,
    "posts": 326,
    "verified": false,
    "url": "https://www.snapchat.com/@kyliejenner",
    "avatar": null,
    "sample": true,
    "provider": "sample-fixture",
    "details": {
      "category": null,
      "subcategory": null,
      "has_story": false,
      "curated_highlights": 0,
      "spotlight_highlights": 0,
      "snapcode_url": null,
      "hero_image_url": null,
      "updated_at": null,
      "related_accounts": []
    }
  },
  "meta": {
    "event_id": "sample",
    "mode": "demo",
    "cache": "SAMPLE",
    "credits_charged": 0,
    "fetched_at": null,
    "age_seconds": null,
    "duration_ms": 0
  }
}

Profile fields

Every platform returns these fields. Fields a platform does not expose are null (or [] for links); they are never guessed.

FieldTypeDescription
platformstringPlatform you requested.
handlestringNormalized handle (lowercase, no @).
namestringDisplay name.
biostringProfile description, as shown publicly.
followersnumberFollower or subscriber count.
followingnumberAccounts this profile follows.
postsnumberTotal posts, videos, pins or repositories, depending on platform.
verifiedbooleanPlatform verification badge, when exposed.
urlstringCanonical public profile URL.
avatarstring | nullProfile picture URL (largest available).
samplebooleanAlways false for live data; true only in sample mode.
providerstringEngine that produced the data.
detailsobjectPlatform-specific fields, listed below.

Snapchat-specific fields (details)

Returned inside data.details.

FieldTypeDescription
details.categorystring | nullCreator category ID.
details.subcategorystring | nullCreator subcategory ID.
details.has_storybooleanHas a live public story.
details.curated_highlightsnumberCurated highlights on the profile page.
details.spotlight_highlightsnumberSpotlight highlights on the profile page.
details.snapcode_urlstring | nullSnapcode image URL.
details.hero_image_urlstring | nullProfile hero image URL.
details.updated_atstring | nullLast profile update (ISO 8601).
details.related_accountsarrayUsernames Snapchat lists as related.

Response metadata

FieldTypeDescription
meta.cachestringHIT (served from cache, 0 credits), MISS (fresh fetch) or SAMPLE.
meta.credits_chargednumberCredits charged for this request.
meta.fetched_atstringWhen the data was fetched from the source.
meta.age_secondsnumberAge of the data at response time.
meta.duration_msnumberServer processing time.

Errors

Every failure is free: reserved credits are refunded automatically.

FieldTypeDescription
404 PROFILE_NOT_FOUNDerrorThe profile does not exist publicly.
422 PROFILE_UNAVAILABLEerrorThe source did not expose even the public profile fields for this account.
503 SOURCE_NOT_AUTHORIZEDerrorLive access for this platform is disabled in production pending source authorization. No credits are charged.
503 SOURCE_AUTH_REQUIREDerrorThe source demanded a login for this request. Retry later.
503 UPSTREAM_RATE_LIMITEDerrorThe source is rate limiting. Retry after the Retry-After header.
402 INSUFFICIENT_CREDITSerrorNot enough credits for a fresh lookup. Cached and sample results stay free.

Limitations

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Snapchat public profiles and Spotlights use Snap’s Public Profile API, which requires a Snap Business Marketing API OAuth app and API allowlisting. OAuth refresh-token rotation is encrypted and stored in PostgreSQL; local cache-reset checks pass. Snap allowlisting, permitted live validation, and SignalShelf paid-use/retention review are pending; private profiles and Spotlight comments are unavailable.

Only public profiles (creators and businesses) are available; personal accounts are not public.

Snapchat does not expose following or post counts.

Explore the API in your workspace. Sample results and accepted cache hits cost zero credits. Open the playground →