Desertcart APIdesertcart.com ↗
Access Desertcart product data via API: search the catalog, retrieve pricing with duty breakdowns, check stock, and pull specs, images, and variants.
What is the Desertcart API?
The Desertcart API covers 8 endpoints that expose product search, detailed listings, technical specifications, images, pricing with duty breakdowns, stock availability, category listings, and variant configurations from Desertcart UAE. The search_products endpoint returns paginated summaries including price, rating, and estimated delivery days, while dedicated endpoints like get_product_pricing and get_product_availability give granular data on a per-product basis.
curl -X GET 'https://api.parse.bot/scraper/c6ebb67e-52dd-4b6e-8939-24708464b187/search_products?page=1&query=laptop&country=us' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search over Desertcart product catalog. Returns paginated product summaries with pricing, ratings, and delivery estimates. Pagination via page number; roughly 10-20 results per page, up to total_pages. Optional country filter narrows results to a source-store country. Desertcart intermittently withholds search results from anonymous visitors after a few searches from the same network address ("Log in to see live results"); when that happens the call returns a blocked envelope rather than an empty result, and it is retried automatically from a different address.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search keyword (e.g. 'laptop', 'headphones'). |
| country | string | Source country filter. |
{
"type": "object",
"fields": {
"products": "array of product summary objects with id, title, brand_name, price, rating, reviews_count, estimated_delivery_days, main_image_url, store_name, badges",
"total_count": "integer total products matching query",
"total_pages": "integer total pages available",
"current_page": "integer current page number"
},
"sample": {
"data": {
"products": [
{
"id": 817555289,
"price": {
"plain": 3226,
"value": 322600,
"formatted": "AED 3,226",
"currency_code": "AED",
"value_usd_cents": 87842
},
"title": "HP 17 inch Business Laptop",
"badges": null,
"rating": 5,
"brand_name": "hp",
"store_name": null,
"reviews_count": null,
"main_image_url": "https://m.media-amazon.com/images/I/71AqNqyPEAL.jpg",
"estimated_delivery_days": 7
}
],
"total_count": 50,
"total_pages": 5,
"current_page": 1
},
"status": "success"
}
}About the Desertcart API
Search and Product Discovery
The search_products endpoint accepts a required query string and an optional country filter, returning arrays of product summary objects with fields including id, title, brand_name, price, rating, reviews_count, estimated_delivery_days, and main_image_url. Pagination is controlled via the page parameter; each response includes total_count, total_pages, and current_page so you can walk the full result set. The get_categories endpoint returns a static list of 15 top-level categories, each with a name and URL-friendly slug, useful for building category-level browsing.
Product Details and Specifications
get_product_details takes a numeric product_id and returns the most complete single-product payload: description, features_list, tech_specs as key-value pairs, image_urls, in_stock, brand_name, and a price object containing currency_code, value, plain, formatted, and value_usd_cents. For workflows that only need structured specifications, get_product_specifications returns a focused array of key/value objects and avoids the overhead of the full detail payload — though it may return an empty array if the product has no specifications listed.
Pricing, Availability, and Variants
get_product_pricing exposes both the current price and list_price objects, a percent_saved discount figure, and a price_breakup object with duty_charges, local_shipping_changes, and grand_total — fields that reflect Desertcart's cross-border import model. get_product_availability returns in_stock, a store_country code (e.g. 'US'), an array of estimated delivery_ranges in YYYY-MM-DD format, and an eligible_for_pro boolean indicating Desertcart Pro shipping eligibility.
Images and Variants
get_product_images returns a main_image URL and an all_images array covering the full gallery. get_product_variants returns thumbnails, variations, and variation_attributes for multi-SKU products, mapping variant ASINs to attribute values such as color or size. Single-SKU products return an empty object from this endpoint.
The Desertcart API is a managed, monitored endpoint for desertcart.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when desertcart.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 desertcart.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?+
- Monitor Desertcart pricing and
duty_chargesfor cross-border cost comparison tools - Build a product availability tracker using
in_stockanddelivery_rangesfields - Aggregate technical specs via
get_product_specificationsfor side-by-side product comparison pages - Populate an e-commerce affiliate feed using
search_productspaginated results with ratings and images - Check
eligible_for_proandstore_countryto surface Desertcart Pro shipping eligibility to shoppers - Enumerate variant options via
get_product_variantsto display color and size selectors in a product UI - Index Desertcart categories and slugs from
get_categoriesto drive a browse-by-category interface
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Desertcart offer an official developer API?+
What does `get_product_pricing` return beyond a simple price?+
get_product_pricing returns a price object and a list_price object (both with currency_code, plain, formatted, and value_usd_cents), a percent_saved discount percentage, and a price_breakup object containing duty_charges, local_shipping_changes, and grand_total. This lets you show the full landed cost, not just the sticker price.Are seller reviews or individual review text accessible through this API?+
rating and reviews_count at the product summary level but does not return individual review text, reviewer names, or review dates. You can fork this API on Parse and revise it to add a review-fetching endpoint.How does pagination work in `search_products`, and are there any known limits?+
search_products response includes current_page, total_pages, and total_count. You increment the page parameter to walk through results. Each page returns roughly 10–20 products. Not all queries surface every page — very broad queries may hit practical limits before reaching total_pages.Does the API support filtering search results by category, price range, or brand?+
search_products is country for source-store country. Filtering by category slug, price range, or brand is not supported. You can fork this API on Parse and revise it to add those filter parameters to the search endpoint.