Skip to content
scrapeatlas.Dashboard

Get a VSCO image

Try in Playground

Retrieve one VSCO image by URL or ID with caption, dimensions, capture and upload dates, camera metadata, preset, hashtags and owner.

GET/v1/vsco/mediax-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
2
urlstringquery

Image URL in the form https://vsco.co/<username>/media/<id>. Provide url or id, not both.

max 1024 chars

Examplehttps://vsco.co/example-photographer/media/65a1b2c3d4e5f60718293a4b
idstringquery

VSCO image ID (24 lowercase hexadecimal characters). Provide url or id, not both.

max 24 chars

Response fields
49
successboolean

True when usable data is returned; inspect status and coverage.

statusenum

success or partial for usable data; failed or challenged for a failure.

one of: success, partial

requestIdstring

Request correlation UUID.

sourceUrlstring

Public vsco.co page the data describes.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Returned-page coverage and mapping warnings.

coverage.sourcestring

VSCO's public web API.

coverage.completeboolean

Whether every supported field on this page was mapped without a reported omission.

coverage.warningsenum[]

Named warnings: unknown_media_type, unknown_block_type, invalid_item, record_limit, block_limit, total_unavailable (no collection or search count) or pagination_unavailable (no next-page signal or cursor).

Retrieval attempt, source byte and timing measurements.

accounting.upstreamRequestsinteger

Upstream request attempts, including the token page read and any retry.

≥ 0

accounting.responseBytesinteger

Decoded source bytes read during this request.

≥ 0

accounting.durationMsnumber

Elapsed operation time in milliseconds.

≥ 0

Image or video record.

media.idstring

VSCO media ID (24 hexadecimal characters for images).

media.mediaTypestring

image, video, or the source type for other media.

media.descriptionstringnullable

Caption with hashtags, or null when empty.

media.widthintegernullable

Width in pixels, or null.

≥ 0

media.heightintegernullable

Height in pixels, or null.

≥ 0

media.imageUrlstringnullable

HTTPS image URL, or null for videos.

absolute HTTPS URL

media.permalinkstringnullable

Canonical https://vsco.co/<username>/media/<id> link without share tracking, or null.

absolute HTTPS URL

media.isVideoboolean

Whether VSCO marks the record as a video.

media.captureDatestringnullable

Capture time as an ISO 8601 timestamp, or null.

media.uploadDatestringnullable

Upload time as an ISO 8601 timestamp, or null.

Published camera metadata, or null.

media.camera.makestringnullable

Camera make, or null.

media.camera.modelstringnullable

Camera model, or null.

media.camera.isonumbernullable

ISO value, or null.

media.camera.aperturenumbernullable

Aperture f-number, or null.

media.camera.shutterSpeedstringnullable

Shutter speed as published, for example 1/250, or null.

media.camera.whiteBalancestringnullable

White balance, or null.

media.camera.flashModestringnullable

Flash mode, or null.

media.camera.softwarestringnullable

Editing software, or null.

VSCO preset used for the edit, or null.

media.preset.keystring

Preset key.

media.preset.shortNamestringnullable

Preset display name, or null.

Hashtags in source order.

up to 100 items

media.tags.textstring

Always included.

media.tags.slugstring

Always included.

Video playback details for video records, otherwise null.

media.video.playbackUrlstringnullable

HLS playback URL, or null.

absolute HTTPS URL

media.video.posterUrlstringnullable

Poster image URL, or null.

absolute HTTPS URL

media.video.durationSecnumbernullable

Duration in seconds, or null.

≥ 0

media.video.hasAudiobooleannullable

Whether the video has audio, or null.

Account that published the image.

media.owner.usernamestringnullable

VSCO username of the owner, or null.

media.owner.namestringnullable

Owner display name, or null when blank.

media.owner.siteIdintegernullable

Numeric VSCO site ID, or null.

≥ 0

media.owner.userIdintegernullable

Numeric VSCO user ID, or null.

≥ 0

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
14
HTTPfailure.codeMeaning
200partialUsable data with named media-type, block-type, invalid-item, record-limit, total or pagination warnings.
400invalid_requestMissing, duplicate, malformed, unsafe or unsupported parameters.
401unauthorizedMissing or invalid worker API key.
404not_foundThe requested VSCO profile or image was not found.
422restricted_pageVSCO refused anonymous access to the requested resource.
422unsupported_pageThe VSCO response structure or identity could not be mapped.
502upstream_challengedVSCO challenged retrieval.
502upstream_rate_limitedVSCO rate-limited retrieval.
502upstream_errorSource retrieval did not complete.
502response_too_largeDecoded source bytes exceeded the request limit.
502unsafe_redirectVSCO answered with a redirect, which is never followed.
502request_limitThe upstream request budget was exhausted.
503busyWorker request or queue capacity was exceeded.
504timeoutThe operation deadline expired.