Skip to content
scrapeatlas.Dashboard

Get an Amazon creator storefront

Try in Playground

Read a public amazon.com/shop/{handle} storefront with profile, idea lists, shoppable photos and videos, trending picks and curations. Pass pageToken to retrieve the next feed page.

GET/v1/amazon/shopx-api-key
x-api-keystringrequiredheader

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

Query parameters
2
urlstringrequiredquery

Public storefront URL (amazon.com/shop/{handle}, extra path segments are ignored).

min 1 chars · max 2048 chars

Examplehttps://www.amazon.com/shop/example
pageTokenstringquery

Token for the next feed page; pass back as pageToken.

Response fields
40
requestIdstring

Random operational correlation ID.

Upstream attempts, decoded HTML bytes and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable public data was retrieved.

statusenum

success, partial, failed or challenged. Inspect coverage even for HTTP 200.

one of: success, partial

sourceUrlstring

Public www.amazon.com URL that was read.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Complete means this bounded page had no known omissions; warnings name each omission.

coverage.sourcestring

Always public_page.

coverage.completeboolean

False when any warning is present.

coverage.warningsstring[]

Machine-readable omission codes such as lazy_loaded_ranks_omitted or record_limit.

avatarstringnullable

Profile image URL.

isTopCreatorboolean

Whether the Top Creator badge is shown.

namestringnullable

Display name.

descriptionstringnullable

Storefront description.

socialsstring[]

Linked social profile URLs in page order.

up to 50 items

Feed entries: idea lists (title, itemCount) and shoppable photos (title and itemCount null), in page order.

up to 100 items

lists.titlestringnullable

List title; null for shoppable photos.

lists.itemCountintegernullable

Items in the list; null for photos.

lists.imagestringnullable

Cover image; the real list cover, not the pinned badge.

lists.urlstring

Public list or photo URL with the creator tag.

absolute HTTPS URL

Shoppable videos in the feed.

up to 100 items

videos.idstring

32-character video id.

videos.titlestringnullable

Video title (entities decoded).

videos.thumbnailstringnullable

Poster image URL.

videos.asinsstring[]

Featured product ASINs.

up to 100 items

pageTokenstringnullable

Token for the next feed page; pass back as pageToken.

hasMoreboolean

Whether the storefront reports more feed items.

Trending product picks.

up to 100 items

trendingPicks.urlstring

Quick-view product URL.

absolute HTTPS URL

trendingPicks.imagestringnullable

Product image.

trendingPicks.pricenumbernullable

Displayed price.

trendingPicks.discountnumbernullable

Discount percent when shown.

Curations (themed post collections).

up to 100 items

curations.titlestringnullable

Curation title.

curations.postCountintegernullable

Posts in the curation.

curations.imagestringnullable

Cover image.

curations.urlstring

Public curation URL.

absolute HTTPS URL

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
9
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, unsupported or invalid parameters.
401unauthorizedMissing or invalid service key.
404not_foundStorefront, product, category or seller page not found.
429upstream_rate_limitedAmazon rate limited the request; no automatic retry.
502upstream_challengedRobot check, sign-in wall or HTTP 503 from Amazon.
502unsupported_page unsafe_redirect response_too_large payload_too_complex request_limit upstream_errorBounded retrieval failed or the page did not match the requested entity.
503busyAll worker slots occupied.
504timeoutDeadline exceeded.
200partialCoverage warnings such as lazy_loaded_ranks_omitted or record_limit.