Snapchat Snapcode and Public Page Extractor avatar

Snapchat Snapcode and Public Page Extractor

Pricing

from $2.99 / 1,000 snapcodes

Go to Apify Store
Snapchat Snapcode and Public Page Extractor

Snapchat Snapcode and Public Page Extractor

Extract bounded Snapcode SVG and normalized records from public HTTP(S) pages with explicit diagnostics.

Pricing

from $2.99 / 1,000 snapcodes

Rating

0.0

(0)

Developer

w3crawler

w3crawler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Extract a public Snapcode as bounded SVG text, or normalize records from another public HTTP(S) page. The default target is the public Snapcode SVG endpoint; the Actor renders the page in anonymous Chromium, reads the visible public response, and returns either a Snapcode record with inline SVG markup or a generic publicRecord built from the page's public identity, description, image, and product-like fields.

Get started

  1. Open the Actor Store page and select Try for free or open the Input tab.
  2. Put the public Snapcode endpoint or another public HTTP(S) page in startUrls. The default already points at a public Snapcode SVG for the username snapchat.
  3. Keep maxPages: 1 unless you explicitly want same-host rel=next pagination, and set maxItems to the number of records you need.
  4. Start the Actor, open the dataset, and export the saved records as JSON, CSV, or Excel. Open Run summary (OUTPUT_SUMMARY) to check the outcome and counts.

Input

All fields are optional. If you supply startUrls, it must contain between 1 and 100 URLs; omit it to use the default Snapcode endpoint. The defaults below are ready to use. Unsupported field names and out-of-range values are rejected before requests start.

FieldTypeRequired?DefaultMeaning
startUrlsobject arrayOptional[{"url":"https://feelinsonice.appspot.com/web/deeplink/snapcode?username=snapchat&type=SVG"}]Public HTTP(S) pages or endpoints; 1–100 items. The default is Snapchat's public Snapcode SVG endpoint.
maxItemsintegerOptional25Hard maximum number of unique normalized records saved, 1–100.
maxPagesintegerOptional1Maximum public pages or endpoints requested, including pagination, 1–10.
followPaginationbooleanOptionalfalseFollow same-host rel=next links up to maxPages.
requestDelayMsintegerOptional600Delay before each public page request, 0–30,000 ms.
maxConcurrencyintegerOptional1Maximum concurrent public page requests, 1–5.
timeoutSecsintegerOptional45Per-page timeout, 5–60 seconds.
maxResponseBytesintegerOptional5000000Maximum public response body retained in memory, 100,000–10,000,000 bytes.
maxRequestRetriesintegerOptional1Bounded Chromium retries per page, 0–2.
proxyConfigurationobjectOptional{"useApifyProxy":false}Optional Apify Proxy settings. Direct requests are the default; enable proxying only when the public target requires it.

Full default input:

{
"startUrls": [
{
"url": "https://feelinsonice.appspot.com/web/deeplink/snapcode?username=snapchat&type=SVG"
}
],
"maxItems": 25,
"maxPages": 1,
"followPagination": false,
"requestDelayMs": 600,
"maxConcurrency": 1,
"timeoutSecs": 45,
"maxResponseBytes": 5000000,
"maxRequestRetries": 1,
"proxyConfiguration": {
"useApifyProxy": false
}
}

The Actor uses Chromium-rendered page sessions even for the SVG endpoint; it does not use a separate direct-HTTP fetcher. Pagination is followed only for same-host rel=next links and only when followPagination is enabled. Optional proxyConfiguration is used only as a transparent transport.

Output

The dataset contains one row per saved result. A Snapcode response produces a Snapcode row with svg markup; other public pages produce a publicRecord row with the generic fields the page exposes. Optional fields are omitted when the page does not publish them, and no diagnostic or placeholder rows are written.

FieldTypeAvailabilityMeaning
recordIdstringAlwaysStable identifier derived from the public record type and identity.
recordTypestring enumAlwaysSnapcode for a Snapcode SVG response, or publicRecord for another normalized public page.
legacyRecordTypestringWhen publishedBackward-compatible copy of recordType.
positionintegerAlwaysOne-based position after deduplication and the maxItems limit.
sourceWebsitestringAlwaysOfficial Snapchat source website.
sourceUrlstringAlwaysPublic URL requested for the page or endpoint.
inputUrlstringWhen publishedPublic URL supplied in the input.
targetUrlstringWhen publishedNormalized public URL fetched for the record.
idstringAlwaysSnapcode identifier or normalized public-record identifier.
namestringAlwaysSnapcode label or public-record name.
urlstringAlwaysCanonical public URL for the record.
canonicalUrlstringWhen publishedCanonical URL declared by the public page.
typestringWhen publishedPublic record type label, such as Snapcode.
descriptionstringWhen publishedPublic page or record description.
imageUrlstringWhen publishedPublic image URL reference.
usernamestringWhen publishedSnapchat username associated with the Snapcode or page.
formatstringWhen publishedSnapcode format, commonly SVG.
brandstringWhen publishedBrand name when the public page exposes product-like data.
categorystringWhen publishedCategory label when the public page exposes one.
pricenumberWhen publishedPublic price value, when present.
currencystringWhen publishedCurrency code for price.
ratingnumberWhen publishedPublic rating value, when present.
reviewCountnumberWhen publishedPublic review count, when present.
publishedAtstringWhen publishedPublic publication timestamp, when present.
locationstringWhen publishedPublic location text, when present.
svgstringWhen publishedBounded inline SVG markup returned by the public Snapcode endpoint; no binary image is downloaded.
dataobjectWhen publishedSmall cleaned identity object with the public record ID, type, format, brand, category, and location when exposed.
scrapedAtstringAlwaysTime the record was saved, in ISO UTC.

The example below is a real saved row from the 2026-10-25 run, limited to fields declared in the dataset schema; the long svg string is shortened.

{
"recordId": "public_record_7bd13cb99ccd4f1c630c66d5",
"recordType": "Snapcode",
"legacyRecordType": "Snapcode",
"position": 1,
"sourceWebsite": "https://www.snapchat.com/",
"sourceUrl": "https://feelinsonice.appspot.com/web/deeplink/snapcode?username=snapchat&type=SVG",
"inputUrl": "https://feelinsonice.appspot.com/web/deeplink/snapcode?username=snapchat&type=SVG",
"targetUrl": "https://feelinsonice.appspot.com/web/deeplink/snapcode?username=snapchat&type=SVG",
"id": "ad64d4dc7a810406261f0240",
"name": "Snapcode for snapchat",
"url": "https://feelinsonice.appspot.com/web/deeplink/snapcode?username=snapchat&type=SVG",
"canonicalUrl": "https://feelinsonice.appspot.com/web/deeplink/snapcode?username=snapchat&type=SVG",
"type": "Snapcode",
"username": "snapchat",
"format": "SVG",
"svg": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?> <svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" height=\"320\" version=\"1.1\" viewBox=\"0 0 320 320\" width=\"320\" xmlns=\"http://www.w3.org/2000/svg\"> …",
"data": {
"id": "ad64d4dc7a810406261f0240",
"type": "Snapcode",
"format": "SVG"
},
"scrapedAt": "2026-10-25T20:53:56.736Z"
}

Run summary

Run summary is stored separately from the dataset in the run's key-value store under OUTPUT_SUMMARY; OUTPUT is a compatibility alias with the same core fields. SOURCE_METADATA records the public-only policy and transport details.

FieldMeaning
actorActor slug that produced the run artifact.
recordTypeArtifact discriminator; runSummary.
statusSource-result status: success, partial, no_results, blocked, failed, or input_validation. A clean empty result is no_results.
runStatusExecution status: SUCCEEDED when a source-backed row or a clean empty result was produced, FAILED when no row was written because of an operational failure.
dataStatusCompleteness of the saved records: COMPLETE, PARTIAL, NO_RESULTS, or FAILED.
itemCountNumber of records saved to the dataset.
publicRecordsNumber of normalized public records saved.
snapcodeRecordsNumber of records classified as Snapcode.
diagnosticCountNumber of operational issues recorded for the run.
uniqueIdentitiesUnique record identities saved.
duplicateCountDuplicate records removed.
candidateCountCandidate records parsed before final normalization.
incompleteRecordCountCandidates skipped because required public fields were missing.
requestLogicalCountLogical page requests made.
requestAttemptCountPage requests including retries.
requestErrorCountPage requests that produced an error.
successfulRequestCountPage requests that completed successfully.
failedRequestCountPage requests that remained failed after retries.
pagesRequestedPublic pages or endpoints requested.
pagesProcessedPublic pages parsed successfully.
paginationEnqueuedSame-host next-page URLs enqueued for pagination.
publicJsonResponseCountPublic JSON responses observed by the browser.
renderedMediaElementCountRendered media elements observed on the page.
visitedUrlsPublic URLs visited.
limitsInput bounds and proxy settings used for the run.
directHttpWhether direct HTTP transport was used; always false for this browser-backed Actor.
sourceTransportBrowser transport used, chromium-rendered-public-page.
proxyUsedWhether Apify Proxy was used.
customUserAgentUsedWhether a custom user agent was used; always false.
stealthPatchesUsedWhether stealth patches were used; always false.
sourceHuman-readable public source description.
provenanceStable extraction-implementation label.
accessPolicyPublic-data and access-policy disclosure.
datasetWriteFailureCountDataset writes that failed after collection.
optionalOutputFailureCountOptional artifact writes that failed after the dataset was saved.
startedAtRun start time in ISO UTC.
completedAtRun completion time in ISO UTC.
scrapedAtTime the summary was written, in ISO UTC.

dataStatus describes the dataset, while status and runStatus describe the source result and process outcome. A run can save rows and still report partial / PARTIAL when a later target or optional step fails.

Example OUTPUT_SUMMARY from the saved run:

{
"actor": "snapchat-snapcode-scraper",
"recordType": "runSummary",
"status": "success",
"runStatus": "SUCCEEDED",
"dataStatus": "COMPLETE",
"itemCount": 1,
"publicRecords": 1,
"snapcodeRecords": 1,
"diagnosticCount": 0,
"uniqueIdentities": 1,
"duplicateCount": 0,
"candidateCount": 1,
"incompleteRecordCount": 0,
"requestLogicalCount": 1,
"requestAttemptCount": 1,
"requestErrorCount": 0,
"successfulRequestCount": 1,
"failedRequestCount": 0,
"pagesRequested": 1,
"pagesProcessed": 1,
"paginationEnqueued": 0,
"publicJsonResponseCount": 0,
"renderedMediaElementCount": 0,
"visitedUrls": [
"https://feelinsonice.appspot.com/web/deeplink/snapcode?username=snapchat&type=SVG"
],
"limits": {
"startUrls": [
"https://feelinsonice.appspot.com/web/deeplink/snapcode?username=snapchat&type=SVG"
],
"maxItems": 1,
"maxPages": 1,
"followPagination": false,
"requestDelayMs": 0,
"maxConcurrency": 1,
"timeoutSecs": 30,
"maxResponseBytes": 5000000,
"maxRequestRetries": 1,
"includeDiagnostics": false
},
"directHttp": false,
"sourceTransport": "chromium-rendered-public-page",
"proxyUsed": false,
"customUserAgentUsed": false,
"stealthPatchesUsed": false,
"source": "Public HTTP(S) pages and Snapchat Snapcode SVG endpoints",
"provenance": "snapchat_snapcode_public_pages_v2",
"accessPolicy": "Public HTTP(S) responses only; no login, CAPTCHA solving, private data access, or access-control bypass. Apify Proxy is supported only as a transparent transport.",
"startedAt": "2026-10-25T20:53:49.729Z",
"completedAt": "2026-10-25T20:53:56.949Z",
"scrapedAt": "2026-10-25T20:53:56.949Z"
}

Coverage and limitations

The Actor is designed for public Snapcode SVG endpoints and other public HTTP(S) pages that can be rendered in Chromium. It classifies a response as Snapcode when the public record type is Snapcode or the format is SVG; otherwise it emits a publicRecord. The Snapcode row keeps the SVG markup as text in svg, bounded by maxResponseBytes; it does not download or store a binary image.

The generic publicRecord fields (brand, category, price, currency, rating, reviewCount, publishedAt, and location) appear only when the target page publishes recognisable public data. A page that does not expose those fields produces a smaller row rather than inferred values. Pagination is off by default and applies only to same-host rel=next links; maxPages also counts the initial page.

The Actor does not log in, access private data, call a private API, solve CAPTCHAs, or bypass access controls. It uses a browser session even for SVG endpoints, so a plain endpoint that does not render in Chromium can fail where a direct fetch would succeed. Blocked, empty, or partial responses are recorded in OUTPUT_SUMMARY and logs rather than written as fabricated dataset rows. Apify Proxy is supported only as a transparent transport.

Usage and support

Run cost depends on Apify browser compute, the number of pages, pagination, retries, and optional proxy usage. Start with the default Snapcode endpoint, maxPages: 1, and a small maxItems; inspect the dataset and OUTPUT_SUMMARY, then add targets or pagination. Enable followPagination only for same-host pages that actually publish rel=next links. See the Actor's Pricing tab for current account rates.

Use the Actor Issues page to report a problem. Include the run ID, the input used, and the OUTPUT_SUMMARY; do not include tokens, cookies, or private data. This Actor is not affiliated with, endorsed by, or sponsored by Snapchat. Use it only for public data and in accordance with the source's terms, robots guidance, and applicable law. Public pages can contain personal information; do not use the output for unauthorized profiling or contact.