Visual discovery
VSCO API
Retrieve VSCO photographer profiles, galleries, images, collections, journals and search results.
Read photographer profiles, list gallery images and videos with camera metadata and presets, fetch a single image, list reposted collections and journal articles, and search images and users by keyword.
API availability: Available
http://localhost:3055Public API: https://api.scrapeatlas.com.Endpoints
/v1/vsco/profileGet a VSCO profile
Retrieve a VSCO photographer profile: name, bio, avatar, external and social links, public location, brand flag, gallery and collection availability and the most recent image.
Reference/v1/vsco/user-mediaList a VSCO user's gallery
List the images and videos in a VSCO user's gallery, newest first, with captions, dimensions, camera metadata, presets and hashtags. Pass nextCursor to read the next page.
Reference/v1/vsco/mediaGet a VSCO image
Retrieve one VSCO image by URL or ID with caption, dimensions, capture and upload dates, camera metadata, preset, hashtags and owner.
Reference/v1/vsco/collectionList a VSCO user's collection
List the images a VSCO user reposted to their public collection, with the original photographer, repost date and the same image details as the gallery.
Reference/v1/vsco/user-journalsList a VSCO user's journal
List a VSCO user's journal articles with title, subtitle, author, dates, categories, cover image and the article body as ordered text, image and video blocks.
Reference/v1/vsco/searchSearch VSCO images
Search public VSCO images by keyword and return each image's caption, dimensions, image URL, permalink and photographer.
Reference/v1/vsco/search-usersSearch VSCO users
Search VSCO profiles by name or username and return each profile's username, display name, avatar and gallery URL.
ReferenceQuick start
Create an API key on your account page, then call the public API. Values below are placeholders.
curl "https://api.scrapeatlas.com/v1/vsco/profile?username=example-photographer" \
-H "x-api-key: YOUR_API_KEY"Coverage & limits
- Username: 1 to 50 letters, digits, dots, underscores or hyphens, or a vsco.co profile URL. Media: a vsco.co media URL or a 24-character ID. Query: 1 to 100 characters. Page: 1 to 1,000.
- Page sizes: gallery and collection 1 to 20 (default 20), journal 1 to 10 (default 10), image and user search 1 to 30 (default 30). At most 100 hashtags per image, 300 blocks per article and 50 images or links per block.
- Each read has a 20-second deadline and each operation a 45-second deadline, including the queue wait. Decoded API responses are capped at 2 MiB and the token page at 1.5 MiB.
- Upstream requests per operation: profile, image, search and user search at most 5; gallery, collection and journal at most 6. This covers one public token page read, the API reads, one extra token page read, one repeat of a refused read and one shared retry after a network failure or HTTP 5xx.
- At most four active requests and eight queued requests, with a queue wait of at most 10 seconds.
- Fixed origin vsco.co. No login, cookies, outbound link visits, media downloads or result storage. The service API key is never forwarded.
| HTTP | failure.code | Meaning |
|---|---|---|
| 200 | partial | Usable data with named media-type, block-type, invalid-item, record-limit, total or pagination warnings. |
| 400 | invalid_request | Missing, duplicate, malformed, unsafe or unsupported parameters. |
| 401 | unauthorized | Missing or invalid worker API key. |
| 404 | not_found | The requested VSCO profile or image was not found. |
| 422 | restricted_page | VSCO refused anonymous access to the requested resource. |
| 422 | unsupported_page | The VSCO response structure or identity could not be mapped. |
| 502 | upstream_challenged | VSCO challenged retrieval. |
| 502 | upstream_rate_limited | VSCO rate-limited retrieval. |
| 502 | upstream_error | Source retrieval did not complete. |
| 502 | response_too_large | Decoded source bytes exceeded the request limit. |
| 502 | unsafe_redirect | VSCO answered with a redirect, which is never followed. |
| 502 | request_limit | The upstream request budget was exhausted. |
| 503 | busy | Worker request or queue capacity was exceeded. |
| 504 | timeout | The operation deadline expired. |