shopDisney APIshopdisney.com ↗
Access shopDisney product data via API: search by keyword, browse categories, get new arrivals, and fetch full product details including price, images, and attributes.
What is the shopDisney API?
The shopDisney API exposes 4 endpoints that cover the full Disney Store catalog, from keyword search to per-product detail retrieval. The get_product_details endpoint returns up to 9 fields per product including images, size and color attributes, breadcrumb categories, and full description text. Listing endpoints like search_products and get_category_products support pagination and four sort orders, making it straightforward to traverse large result sets programmatically.
curl -X GET 'https://api.parse.bot/scraper/fcad6ac1-e410-4df8-82e2-aae202498e5b/search_products?sz=5&sort=new-popular&query=mickey&start=0' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace shopdisney-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Disney Store SDK — search, browse, and inspect products."""
from parse_apis.disney_store_api import DisneyStore, Sort, ProductNotFound
client = DisneyStore()
# Search for products by keyword, capped at 5 items total.
for item in client.products.search(query="frozen", sort=Sort.PRICE_LOW_TO_HIGH, limit=5):
print(item.name, item.price, item.availability)
# Browse a category — take the first result and drill into full details.
toy = client.products.by_category(category_id="toys", limit=1).first()
if toy:
full = toy.details()
print(full.name, full.price, full.description[:80])
for attr in full.attributes:
print(attr.label, attr.values)
# Fetch a product directly by ID.
try:
product = client.products.get(id="5101057751157m")
print(product.name, product.category, product.breadcrumbs)
except ProductNotFound as exc:
print(f"Product not found: {exc.product_id}")
# Check new arrivals.
for arrival in client.products.new_arrivals(limit=3):
print(arrival.name, arrival.price, arrival.badge)
print("exercised: products.search / products.by_category / details / products.get / products.new_arrivals")
Full-text search across shopDisney products by keyword. Returns a paginated list of products sorted by the chosen rule. Pagination is offset-based via `start`; each page returns up to `sz` items. The total count reflects items available for the current page size window, not the full catalog match count.
| Param | Type | Description |
|---|---|---|
| sz | integer | Number of results per page. |
| sort | string | Sorting rule. |
| queryrequired | string | Search keyword (e.g. 'mickey', 'frozen', 'plush'). |
| start | integer | Pagination offset. |
{
"type": "object",
"fields": {
"count": "integer, number of products returned in this page",
"products": "array of product objects with id, name, price, original_price, badge, category, url, image_url, availability"
},
"sample": {
"data": {
"count": 48,
"products": [
{
"id": "5101057751157m",
"url": "https://www.disneystore.com/mickey-mouse-icon-oranges-knit-dress-for-women-by-her-universe---exclusive-5101057751157M.html?isProductSearch=1&searchType=regular",
"name": "Mickey Mouse Icon Oranges Knit Dress for Women by Her Universe - Exclusive",
"badge": "new",
"price": "79.99",
"category": "Dresses & Skirts",
"image_url": "https://cdn-ssl.s7.shopdisney.com/is/image/DisneyShopping/5101057751157?fmt=jpeg&qlt=90&wid=192&hei=192",
"availability": "online - in_stock",
"original_price": "79.99"
}
]
},
"status": "success"
}
}About the shopDisney API
Searching and Browsing the shopDisney Catalog
The search_products endpoint accepts a required query string (e.g. 'mickey', 'frozen', 'plush') and returns a paginated list of matching products. Each result includes id, name, price, original_price, badge, category, url, image_url, and availability. The sort parameter accepts 'new-popular', 'date-desc', 'price-low-to-high', or 'price-high-to-low', and start plus sz handle pagination offset and page size.
Category and New Arrivals Browsing
get_category_products takes a category_id such as 'toys', 'clothing', 'accessories', or 'home' and returns the same product list shape as search, with the same sort and pagination controls. For time-sensitive use cases, get_new_arrivals returns recently added products sorted by recency. It supports sz and start for pagination but does not accept a sort override, since recency is the implicit order.
Product Detail Retrieval
get_product_details takes a product_id sourced from any listing endpoint and returns a richer object: images (array of URLs), attributes (array of objects with label and values, covering sizes and colors), breadcrumbs (array of category path strings), description (full text), and availability status alongside price and original_price. This is the endpoint to use when building product pages, comparison tools, or inventory monitors that need the full attribute set.
The shopDisney API is a managed, monitored endpoint for shopdisney.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when shopdisney.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official shopdisney.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track price drops on Disney merchandise by comparing
priceagainstoriginal_priceacross repeated calls tosearch_products. - Build a new-release alert system using
get_new_arrivalsto detect products added since the last poll. - Populate a product catalog with full images and size/color variants using
get_product_detailsattributes and images arrays. - Monitor availability status of specific product IDs to notify users when out-of-stock items return.
- Aggregate products by category using
get_category_productswith category IDs like 'toys' or 'home' for category-level analytics. - Sort and filter keyword search results by price range for a price-comparison tool using
search_productswithsortand pagination params. - Extract breadcrumb data from
get_product_detailsto map shopDisney's category taxonomy programmatically.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does shopDisney have an official developer API?+
What does the `get_product_details` endpoint return that listing endpoints do not?+
get_product_details returns several fields not present in listing results: a description string with the full product text, an images array with multiple image URLs, an attributes array breaking out available sizes and colors, and a breadcrumbs array showing the full category path. Listing endpoints return only a single image_url and no attribute or description data.Does the API expose customer reviews or ratings for products?+
Are there any limitations on category browsing — for example, sub-category navigation?+
get_category_products accepts top-level category IDs such as 'toys', 'clothing', 'accessories', and 'home'. Nested sub-category IDs are not documented as accepted values in the current spec. The breadcrumbs field in get_product_details can help you understand the category hierarchy for products you've already retrieved, but there is no dedicated endpoint to list all valid category IDs. You can fork this API on Parse and revise it to add a category-listing endpoint.How does pagination work across the listing endpoints?+
search_products, get_category_products, get_new_arrivals) accept a start integer for the offset and sz for the page size. The response includes a count field showing how many products were returned in that page. To walk through all results, increment start by sz on each request until count returns fewer results than sz.